如何使WinForms UserControl填充其容器的大小
我正在尝试创build一个multilayout主屏幕应用程序。 我在顶部有一些button,链接到应用程序的主要部分(例如模型中的每个实体的pipe理窗口)
单击这些button中的任何一个都会在Panel中显示相关的UserControl。 面板持有UserControls,该控件又保存UI。
WinForms UserControl不具有Anchor
或Dock
属性。
我已经尝试设置UserControl的属性
AutoSize=True
和
private void ManageUsersControl_Load(object sender, EventArgs e) { this.Width = this.Parent.Width; this.Width = this.Parent.Height; }
但是这些都不起作用。
注意:我在运行时dynamic加载这个控件
尝试设置Dock
属性Fill
:
private void ManageUsersControl_Load(object sender, EventArgs e) { this.Dock = DockStyle.Fill; }
我也将AutoSize
设置为默认值,我相信是False
。 看看这是如何工作的…
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);
在resize事件用户控件中。
private void MyTextBox_Resize(object sender, EventArgs e) { this.Width = textBox1.Width; this.Height = textBox1.Height; }