怎么在winform下实现窗体的控件的自适应大小
如何在winform下实现窗体的控件的自适应大小
我想实现这样一个效果。我新建了一个MDI窗体,在MDI窗体中加了一个SplitContainer把MDI主窗体分成两部分,一部分是导航,一部分是准备用来动态的把其他Form加载进去。加载代码如下:
问题:请问我怎么做的使InitFrm窗体中的控件刚好适应Panel的大小。并全当我独立运行InitFrm窗体时,自己也有一个固定的窗体大小,并且保证设计时的控件布局位置。
当InitFrm中包含有TabControl时,也该怎么处理?
谢谢各位
------解决方案--------------------
使用Anchor和Dock属性来设置。
Anchor设定了控件的4个边与它的父控件对应的4个边是否绑定,绑定的话,即使父控件大小变化,这两者之间的相对关系也保持不变。
例如,默认情况下,按钮控件与父控件的左,上边界绑定,那么无论窗口大小如何变化,按钮控件总保持着它的相对位置不变。如果再绑定右边界,那么随着父控件拉宽或缩小,按钮也会拉宽或者缩小。
Dock你自己试一下很快就能发现问题。
我想实现这样一个效果。我新建了一个MDI窗体,在MDI窗体中加了一个SplitContainer把MDI主窗体分成两部分,一部分是导航,一部分是准备用来动态的把其他Form加载进去。加载代码如下:
- C# code
InitFrm frm = new InitFrm(); //需要加载的窗体 frm.FormBorderStyle = FormBorderStyle.None; frm.TopLevel = false; frm.StartPosition = FormStartPosition.CenterParent; frm.DesktopBounds = this.splitContainer1.Panel2.DisplayRectangle; Button btn_Exite = frm.Controls.Find("Btn_Exit", false)[0] as Button; btn_Exite.Visible = false; this.splitContainer1.Panel2.Controls.Add(frm); //把InitFrm窗体加载到Panel2中 frm.Show();
问题:请问我怎么做的使InitFrm窗体中的控件刚好适应Panel的大小。并全当我独立运行InitFrm窗体时,自己也有一个固定的窗体大小,并且保证设计时的控件布局位置。
当InitFrm中包含有TabControl时,也该怎么处理?
谢谢各位
------解决方案--------------------
使用Anchor和Dock属性来设置。
Anchor设定了控件的4个边与它的父控件对应的4个边是否绑定,绑定的话,即使父控件大小变化,这两者之间的相对关系也保持不变。
例如,默认情况下,按钮控件与父控件的左,上边界绑定,那么无论窗口大小如何变化,按钮控件总保持着它的相对位置不变。如果再绑定右边界,那么随着父控件拉宽或缩小,按钮也会拉宽或者缩小。
Dock你自己试一下很快就能发现问题。