我想在现有窗口中打开一个新表单。我有 2 个表格,菜单和客户。
private void CustomersView_Click(object sender, EventArgs e)
{
Customers form_customers = new Customers();
form_customers.ShowDialog(this);
}
如果我使用此代码打开新表单,是否可以在现有窗口中打开新表单?
问候,Henk-Jan Leusink
默认情况下,没有。每个Form
子类实例都代表一个实际的 Win32 顶级窗口。
如果要将另一组控件加载到现有窗口中,则应使用 UserControls。customers
在 VS 中创建一个新的 UserControl,然后将控件从表单类复制或移动到新的 UserControl 中。将 UserControl 添加到主窗体的设计器中,但将其可见性设置为隐藏。当您想显示它时,只需更改可见性设置。
您可能需要一个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();
}