我有mdiparent表单,其中包含菜单和左侧的面板,其中包括treeview。父表单的剩余空间可以包括多个窗口,具体取决于用户打开它的数量。面板边缘有一个分割器[左侧有树视图的分割器]可以增加或减少面板的宽度,从而增加图表的面积。
我尝试在拆分器移动事件处理程序中使用mdilayout,但它不起作用。
first pic http://www.imageurlhost.com/images/x6pf89yp8x4cnm1hb4x_first.png
红色垂直线是用于增加/减小左侧面板宽度的分割器。 最初,右侧没有空间。打开一个新的儿童窗户非常适合剩下的空间。
2 http://www.imageurlhost.com/images/b1pu4lztl7eel12b1ho_second.png
Splitter向左移动。在右侧有一个空间,儿童形式不会调整大小并适合该区域。
3 http://www.imageurlhost.com/images/f9ep8rd4fem5aynhc9z_third.png
Splitter向左移动更多,右侧空间不断增加。 如果我再打开一个图形,那么4个旧的和1个新的,总共5个表格填充完全适合并且将使用空间。如果我再次移动分离器,则会再次引入右侧的空间。
4 http://www.imageurlhost.com/images/e3fup4nrfb7aj7d13e5_four.png
每次分割器移动时,如何使所有子窗体完全适合剩余空间?
Splitter移动/鼠标事件处理程序中的代码。
this.LayoutMdi(MdiLayout.TileHorizontal);
子表格[图表窗口]有
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
父表格[在图片中]
this.leftpanel.Dock = System.Windows.Forms.DockStyle.Left;
this.leftpanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
this.AutoSize = true;
如果调整父窗体大小,则调整大小事件处理程序也是
this.LayoutMdi(MdiLayout.TileHorizontal);
似乎运作良好。如果我最大化/自定义大小父表单,子表单相应地调整大小。
如果我使用相同的东西,拆分器事件处理程序,它不会以相同的方式工作。
谢谢,
答案 0 :(得分:0)
试过这样的事情?
Form.Anchor = AnchorStyles.Left | AnchorStyles.Top;