Hello, maybe I can help: 1) To "tile windows on demand" I would recommend hooking a menuitem's click event (for example) to call: myMdiParentForm.LayoutMdi() -- which will take several different MdiLayout enum values: ArrangeIcons, Cascade, TileHorizontal, TileVertical
2) So, you need to keep one window in a fixed location and be able to tile/manipulate the others? Well, what you could do is divide your MdiParentForm with a panel & splitter before you set the IsMdiContainer to 'true'. This way, you could achieve a windows explorer like application where you always have some fixed area docked to some side. Although, I'm not exactly sure if this is what you need to do.
3) To retain the original size of your children Forms: a simple solution would be to keep a list of sizes on your MdiParent - you could watch/sync the Layout event of your children and update the list when appropriate.
4) I quickly played around with setting the Top, Left, etc... values of my MdiChildren and everything seemed to work great for me... this.MdiChildren[0].Top = 100; ...is this what you were doing?
Hope that helps, -Fred
|