我正在尝试创建一个多布局主屏幕应用程序。我在顶部有一些链接到应用程序主要部分的按钮(例如模型中每个实体的管理窗口)
单击其中任何一个按钮将在Panel中显示关联的UserControl。 Panel持有UserControls,而UserControls又拥有UI。
WinForms UserControl没有Anchor
或Dock
属性。
我已尝试设置UserControl的属性
AutoSize=True
和
private void ManageUsersControl_Load(object sender, EventArgs e)
{
this.Width = this.Parent.Width;
this.Height = this.Parent.Height;
}
但这些都不起作用 注意:我在运行时动态加载此控件
答案 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;
}