是否可以在 Panel 中调用 Win-form

Is that possible to call a Win-form in Panel

我是 C# 的新手,我正在开发一个桌面应用程序,我需要在其中调用面板中已经存在的表单 让我们说 表格 1 -> 面板和按钮

点击按钮

表格 2 出现在表格 1-> 面板中

有人能帮帮我吗。

向 Form1 添加面板并在 Form1 的某处调用此代码(例如,在按钮单击处理程序中):

Form2 form2 = new Form2() { TopLevel = false };
form2.Show();
panel.Controls.Add(form2);

不允许将窗体添加为另一个控件的子控件。我认为您需要的是创建一个 UserControl 并将该 UserControl 添加为面板的子项。

创建带有按钮 (Button1) 和面板 (panel1) 的表单 (Form1)。

然后创建一个UserControl(UserControl1)。这不是你的 'Form 2'.

在 Button1 的点击事件处理程序中添加以下代码:

private void button1_Click(object sender, EventArgs e)
{
    // Check that nothing has been added yet.
    if (panel1.Controls.Count == 0)
    {
        UserControl1 uc1 = new UserControl1();
        uc1.Dock = DockStyle.Fill;
        panel1.Controls.Add(uc1);
    }
}