Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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# 使用多种表单_C#_Winforms_Visual Studio_Visual Studio 2010 - Fatal编程技术网

C# 使用多种表单

C# 使用多种表单,c#,winforms,visual-studio,visual-studio-2010,C#,Winforms,Visual Studio,Visual Studio 2010,我想使用用户控件在一个表单中加载多个表单,我尝试了以下代码,但单击按钮1后似乎什么也没发生。有人知道怎么了吗 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { UserControl1 control =

我想使用用户控件在一个表单中加载多个表单,我尝试了以下代码,但单击按钮1后似乎什么也没发生。有人知道怎么了吗

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        UserControl1 control = new UserControl1();
        control.Dock = DockStyle.Fill;
        this.Controls.Add(control);
    }
 }

您可能需要更改
Dock
属性的值。当它是
DockStyle.Fill
时,它将占据整个区域。根据需要的布局,尝试将其更改为其他值

然而,UserControl1的内容似乎是重叠的,我仍然可以看到Form1的内容

表单上控件的Z顺序很重要。使用Controls.Add(),控件将位于订单的底部,现有控件与之重叠。您可以这样修复它:

    this.Controls.Add(control);
    control.BringToFront();

或者使用Controls.SetChildIndex()将其插入控件之间。

表单1上是否有其他控件?确保按钮的单击事件已连接,以便在单击时运行该代码。UserControl1上是否有其他控件,或者它只是一个空控件?@CodeBlend Yup我已设置为您在usercontrol上使用dock fill的确切大小,因此,您设置的大小无关紧要。其他控件在窗体上的位置如何?截图?