如何使WinForms UserControl填充其容器的大小

时间:2012-06-03 15:27:25

标签: c# .net winforms mdi multipage

我正在尝试创建一个多布局主屏幕应用程序。我在顶部有一些链接到应用程序主要部分的按钮(例如模型中每个实体的管理窗口)

单击其中任何一个按钮将在Panel中显示关联的UserControl。 Panel持有UserControls,而UserControls又拥有UI。

WinForms UserControl没有AnchorDock属性。

我已尝试设置UserControl的属性

AutoSize=True

private void ManageUsersControl_Load(object sender, EventArgs e)
{
        this.Width = this.Parent.Width;
        this.Height = this.Parent.Height;
}

但这些都不起作用 注意:我在运行时动态加载此控件

3 个答案:

答案 0 :(得分:82)

尝试将Dock属性设置为Fill

private void ManageUsersControl_Load(object sender, EventArgs e)
{
        this.Dock = DockStyle.Fill;
}

我还会将AutoSize设置为默认值,我相信是False。看看它是如何工作的......

答案 1 :(得分:-1)

UserControl1 myusercontrol = new UserControl1();
            myusercontrol.Dock = DockStyle.Fill;//Dock Prope. Fill user Control Contrainer
            TabPage myTabPage = new TabPage();//New Tab Create
            myTabPage.Text = "Wel-Come Page";//Tab Header Txt
            myTabPage.Controls.Add(myusercontrol);
            tabControl1.TabPages.Add(myTabPage);

答案 2 :(得分:-4)

在resize事件用户控件中。

 private void MyTextBox_Resize(object sender, EventArgs e)
        {
            this.Width = textBox1.Width;
            this.Height = textBox1.Height;
        }