Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使WinForms UserControl填充其容器的大小_C#_.net_Winforms_Mdi_Multipage - Fatal编程技术网

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

C# 如何使WinForms UserControl填充其容器的大小,c#,.net,winforms,mdi,multipage,C#,.net,Winforms,Mdi,Multipage,我正在尝试创建一个多布局主屏幕应用程序。我在顶部有一些按钮,链接到应用程序的主要部分(例如,模型中每个实体的管理窗口) 单击其中任何一个按钮将在面板中显示关联的UserControl。面板包含用户控件,而用户控件又包含UI WinForms UserControl没有锚定或停靠属性 我已尝试设置UserControl的属性 AutoSize=True 及 但这些都不起作用。 注意:我在运行时动态加载此控件尝试将Dock属性设置为Fill: private void ManageUsersCon

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

单击其中任何一个按钮将在面板中显示关联的UserControl。面板包含用户控件,而用户控件又包含UI

WinForms UserControl没有
锚定
停靠
属性

我已尝试设置UserControl的属性

AutoSize=True

但这些都不起作用。

注意:我在运行时动态加载此控件

尝试将
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);
 private void MyTextBox_Resize(object sender, EventArgs e)
        {
            this.Width = textBox1.Width;
            this.Height = textBox1.Height;
        }

UserControl
确实有一个
Dock
属性-它从
Control
继承该属性。请参阅上述语句的属性部分“winforms usercontrol没有“锚定”或“停靠”属性”是错误的。我在用户控件上寻找“Dock”。它应该只出现在添加到UserControl的控件(子控件)中。@MvanGeest是的,这很有意义,但为什么它不出现在designer属性网格中?因为此时,UserControl是独立的,未添加到任何需要填充类型的父级-如果我在面板控件上,并且添加了UserControls,则应该显示出来。我认为System.Windows.Forms.UserControl(具有Dock属性)和System.Windows.Controls.UserControl(不具有Dock属性)之间存在一些混淆。从OP:
winforms usercontrol没有“锚定”或“停靠”属性。
好的,这真让我吃惊。您知道为什么此属性不在UserControl designer属性网格中吗?顺便说一句,它在运行时工作得非常好。@tunmisefasipe:很高兴能提供帮助……您可以尝试设置
DoubleBuffered=true
…IIRC。是的,设计师身上没有Dock的属性有点让人沮丧。但是,这是有道理的——在设计器中处理UserControl本身时,它会使用什么容器来最大化自身?没有可填充的容器。@yoyo:OP正在使用WinForms。谢谢@IAbstract,你是对的。我在调查类似问题时发现自己在这里。我的应用程序同时包含WPF和WinForms元素,我把自己和两个不同的UserControl类混淆了,其中只有一个具有Dock属性。
 private void MyTextBox_Resize(object sender, EventArgs e)
        {
            this.Width = textBox1.Width;
            this.Height = textBox1.Height;
        }