【发布时间】:2015-10-27 04:25:17
【问题描述】:
我已经知道使用 ShowDialog() 会导致表单落后于其父表单。所以我在寻找解决方案。
很多人说解决方法是将父表单作为参数传递给子表单。
类似的东西。
using(Form f = new Form1())
{
f.ShowDialog(this);// while the 'this' is the parent form calling
}
但此代码仍然失败。 这就是场景。
打开显示对话框的子窗体,然后当子窗体窗口仍处于活动状态时,单击显示桌面(或按 Window+D),然后打开其他应用程序。 打开应用程序后将其最小化或关闭。现在在您关闭或最小化其他应用程序之后。
现在子表单已经在父表单后面了。现在您应该按 alt+tab 或从任务栏单击它以再次正常工作。
我将不胜感激。
【问题讨论】:
-
为什么不改用 Show 并将 Dialog 设置为最顶层??
-
f.ShowDialog();怎么样 -
f.TopMost = true;? -
不,我不能将 TopMost 设置为 true,因为有时它们是多任务处理,打开浏览器或其他应用程序
标签: c# forms winforms showdialog