【发布时间】:2013-12-14 23:21:27
【问题描述】:
我正在用 c# 制作一个 MDI Windows 窗体应用程序,我正在尝试让 mdi 子窗体在单个实例中打开。我在一个新项目中的 button_click 事件中使用这个示例代码只是为了测试目的,它在那里工作正常,但是当我在我的主项目中实现这个代码时它什么也不做。我提供的条件与测试项目完全相同,但它不起作用。我就是不明白为什么。
两种表单具有相同的 MDI 父级。 Form1 与 MDI 父级一起加载。
Form1中用于打开Form2的按钮点击事件:
private void button1_Click(object sender, EventArgs e)
{
if (System.Windows.Forms.Application.OpenForms["Form2"] as Form2 == null)
{
Form2 F2 = new Form2();
F2.MdiParent = this.MdiParent;
F2.Show();
}
else
{
Form2 F2 = (Form2)Application.OpenForms["Form2"];
F2.Focus();
}
}
这里有更多信息:
MDI 父级是项目的起始表单。
MDI父级的Form Load如下:
private void MDI_Load(object sender, EventArgs e)
{
Form1 F1 = new Form1();
F1.MdiParent = this;
F1.Show();
}
【问题讨论】: