Winforms – 在面板内填充用户控件

我是winforms的新手,我想做的是一个简单的forms:

  • 在我的表格中有一个小组。

  • 该面板链接到用户控件

  • 用户控件应该填充面板。

这是我的表格:

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伸展

PIC

试试这个,

  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它自己不控制在用户控件内。 要拉伸用户控件的控件,您需要相应地设置DockAnchor属性。

您还需要停靠用户控件。 停靠面板使其停靠到表单而不是UserControl

 userControl.Dock = DockStyle.Fill;