关闭对话框时,为什么我的表单有时会消失?

时间:2010-08-09 18:13:18

标签: c# visual-studio-2008 forms

偶尔,看似随机,当我关闭对话框时,我的主窗体似乎按窗口顺序移回,消失在下一个应用程序后面(通常是Visual Studio)。它保留了焦点,因此在任务栏中单击它会使其最小化,需要再次单击。每当发生这种情况时,控件颜色似乎也会稍微改变,但如果我最大化并恢复窗口则会恢复。

知道为什么会这样吗?

编辑:当我正在调试时会发生这种情况;它也可能在运行时发生,但我通常在应用程序后面没有任何东西,所以我没有注意到。没人提到它。

1 个答案:

答案 0 :(得分:1)

当对话框关闭且Windows无法在您的应用中找到未禁用的任何窗口时,会发生这种情况。强制移动焦点某处,它会选择另一个应用程序的窗口来关注焦点。你的表格会消失在它背后。

确切地说,当发生这种情况时,您的主表单被禁用的原因尚不清楚。颜色更改当然表明您正在更改窗体的Enabled属性。当你这样做时,一切都变成战斗灰色。在对话框关闭后将Enabled设置为true不起作用,为时已晚。只是不要修改Enabled,ShowDialog()方法已经禁用了其他窗口。