我是winforms的新手,我想做的是一个简单的形式:
在我的表格中有一个小组。
该面板已链接到用户控件
用户控件应填充面板。
这是我的表格:
public Form1()
{
InitializeComponent();
UserControl1 userControl = new UserControl1();
panel1.Controls.Add(userControl);
userControl.Anchor = ((AnchorStyles)((((AnchorStyles.Top | AnchorStyles.Bottom)
| AnchorStyles.Left) | AnchorStyles.Right)));
userControl.Dock = DockStyle.Fill;
}
不工作 - >控制doest伸展
答案 0 :(得分:5)
试试这个,
public Form1()
{
InitializeComponent();
panel1.Dock = DockStyle.Fill;
UserControl1 userControl = new UserControl1();
userControl.Dock = DockStyle.Fill;
panel1.Controls.Add(userControl);
}
userControl.Dock = DockStyle.Fill;
应在添加到panel1之前调用。
您还需要在UserControl中设置控件的Anchor
属性,以根据面板中的usercontrol拉伸来拉伸它。
像。
Public Sub UserControl1()
//This call is required by the designer.
InitializeComponent();
//Add any initialization after the InitializeComponent() call.
Label1.Anchor = AnchorStyles.Top;
Label2.Anchor = AnchorStyles.Right;
Label4.Anchor = AnchorStyles.Bottom;
Label3.Anchor = AnchorStyles.Left;
End Sub
注意: userControl.Dock = DockStyle.Fill;
只展开usercontrol它自己不控制用户控件内部。要拉伸用户控件的控件,您需要相应地设置Dock
以及Anchor
属性。
答案 1 :(得分:0)
您还需要停靠用户控件。停靠面板使其停靠到表单,但不停靠UserControl
。
userControl.Dock = DockStyle.Fill;