繁体   English   中英

任务栏图标打开错误的活动表单

[英]Taskbar icon opens the wrong Active form

我的应用程序有一个奇怪的行为,即当在Web浏览器(或任何其他应用程序)之间导航并单击回到该应用程序时,似乎打开了错误的Form 因此,用户实际上必须利用Tab窗口打开正确的Form

例如, Form1是主要形式。 用户单击打开Form2的按钮。 Form1是幕后藏而Form2打开。 现在,如果用户转到其他应用程序(例如浏览器)并单击返回到应用程序,则将显示Form1 ,并且没有“选项卡”窗口没有其他方法可以返回到Form2吗?

我在打开Form2时使用了.ShowDialog()属性,该属性禁用了父表单Form1但似乎偶尔还是会这样做?!

我还将Form2的ShowInTaskBar设置为False以便在任务栏中为所有表单提供一个图标。

不确定是否会导致此行为发生?

private void button1_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog();
}

我认为您需要告诉Form2谁是其所有者表单。

像这样:

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 form2 = new Form2();
        form2.Owner = this;
        form2.ShowDialog();
    }

有关更多信息,请参见System.Windows.Forms

打开form2时,需要设置form1的mdiParent。

首先,在属性中将form1设置为“ isMdiParent”,设置为“ true”,然后使用以下代码:

private void button1_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.MdiParent = this;
    form2.Show();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM