我的应用程序有一个奇怪的行为,当在Web浏览器(或任何其他应用程序)之间导航并单击回到该应用程序时似乎打开了错误的Form
?因此,用户实际上必须利用Tab
窗口来打开正确的Form
。
例如Form1
是主要形式。用户单击打开Form2
的按钮。 Form1
打开时,Form2
隐藏在幕后。现在,如果用户转到其他应用程序,例如浏览器并单击返回到应用程序Form1
,并且没有其他选项卡窗口是否无法返回到Form2
?
我在打开.ShowDialog()
时使用了Form2
属性,该属性禁用了父表单Form1
,但似乎还是偶尔会这么做吗?
我还将Form2的ShowInTaskBar
设置为False
,以便在任务栏中为所有表单提供一个图标。
不确定是什么原因导致这种行为发生?
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.ShowDialog();
}
答案 0 :(得分:1)
我认为您需要告诉Form2谁是其所有者表单。
赞:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Owner = this;
form2.ShowDialog();
}
有关更多信息,请参见System.Windows.Forms
答案 1 :(得分:0)
打开form2时,需要设置form1的mdiParent。
首先,在属性中将form1设置为“ isMdiParent”,设置为“ true”,然后使用以下代码:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.MdiParent = this;
form2.Show();
}