When I tried to execute my own layout engine in WinForms, I was blocked by the fact that the IArrangedElement interface is internal. It looks silly, but it looks like you cannot get the layout properties in the same way unless you develop System.Windows.Forms yourself.
source
share