在现有窗口中打开新表单

时间:2012-09-26 06:58:39

标签: c# windows forms

我想在现有窗口中打开一个新表单。我有2个表单,菜单和客户。

private void CustomersView_Click(object sender, EventArgs e)
{
        Customers form_customers = new Customers();
        form_customers.ShowDialog(this);
}

如果我使用此代码打开新表单,是否可以在现有窗口中打开新表单?

问候, Henk-Jan Leusink

2 个答案:

答案 0 :(得分:1)

默认情况下,没有。每个Form子类实例用于表示实际的Win32顶级窗口。

如果要将另一组控件加载到现有窗口中,则应使用UserControls。在VS中创建一个新的UserControl,并将控件从customers表单类复制或移动到新的UserControl中。将UserControl添加到主窗体的设计器中,但将其visiblity设置为隐藏。当您想要显示它时只需更改可见性设置。

答案 1 :(得分:0)

您可能需要 MDI 表单,将主窗口的IsMdiContainer属性设置为true并尝试使用此代码:

// This is a method on the MDI parent (IsMdiContainer = true)
private void Button1_Click(object sender, EventArgs e)
{
    var myForm = new MyForm();
    myForm.MdiParent = this;
    myForm.Show();
}