想實現主窗體失去焦點時最小化的功能,但是要排除下面的兩種情況:
(1)有其他子窗體打開而使主窗體失去焦點的;
(2)有MessageBox窗體彈出而使主窗體失去焦點的;
第(1)條實現了,但第(2)條無法排除,請教高手指點。
我的代碼是這樣的:
private void Form1_Deactivate(object sender, EventArgs e)
{
//只打開了一個窗體,才最小化;如果還有其他窗體打開了就不最小化
if (Application.OpenForms.Count == 1)
{
this.WindowState = FormWindowState.Minimized;
}
}
不使用系統的MessageBox.show() , 做一個自定義的MessageBox