您好,欢迎来到[问答大全]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 问答大全 >> 电脑网络 >> 请问:窗体失去焦点时最小化的问题

齐发国际登录

来源:网络整理     时间:2016/4/8 5:50:21     关键词:焦点,请问

关于网友提出的“请问:窗体失去焦点时最小化的问题”问题疑问,本网通过在网上对“请问:窗体失去焦点时最小化的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:请问:窗体失去焦点时最小化的问题
描述:

想实现主窗体失去焦点时最小化的功能,但是要排除下面的两种情况:
(1)有其他子窗体打开而使主窗体失去焦点的;
(2)有MessageBox窗体弹出而使主窗体失去焦点的;
第(1)条实现了,但第(2)条无法排除,请教高手指点。
我的代码是这样的:

 private void Form1_Deactivate(object sender, EventArgs e)
        {
                        //只打开了一个窗体,才最小化;如果还有其他窗体打开了就不最小化
            if (Application.OpenForms.Count == 1)
            {
                this.WindowState = FormWindowState.Minimized;
            }
        }

解决方案1:

找到一个答案:
http://bbs.csdn.net/topics/290046863
就是定义一个窗体级bool变量(比如:isMessageBoxExist),在调用MessageBox.show() 之前,让该变量=true,关闭后让该变量=false;

这样就可以如下写判断语句了:

 if (Application.OpenForms.Count == 1 && !isMessageBoxExist)
 {
      this.WindowState = FormWindowState.Minimized;
 }
解决方案2:

不使用系统的MessageBox.show() , 做一个自定义的MessageBox

解决方案3:

不使用系统的MessageBox.show() , 做一个自定义的MessageBox

解决方案4:

不使用系统的MessageBox.show() , 做一个自定义的MessageBox

解决方案5:

不使用系统的MessageBox.show() , 做一个自定义的MessageBox

解决方案6:

不使用系统的MessageBox.show() , 做一个自定义的MessageBox


以上介绍了“请问:窗体失去焦点时最小化的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.machineofchina.com/wd/601252.html

相关图片

相关文章