想实现主窗体失去焦点时最小化的功能,但是要排除下面的两种情况:
(1)有其他子窗体打开而使主窗体失去焦点的;
(2)有MessageBox窗体弹出而使主窗体失去焦点的;
第(1)条实现了,但第(2)条无法排除,请教高手指点。
我的代码是这样的:
private void Form1_Deactivate(object sender, EventArgs e)
{
//只打开了一个窗体,才最小化;如果还有其他窗体打开了就不最小化
if (Application.OpenForms.Count == 1)
{
this.WindowState = FormWindowState.Minimized;
}
}