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

问题描述

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

想实现主窗体失去焦点时最小化的功能,但是要排除下面的两种情况:
(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

解决方案二:

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

解决方案三:

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

解决方案四:

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

解决方案五:

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

解决方案六:

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

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

 if (Application.OpenForms.Count == 1 && !isMessageBoxExist)
 {
      this.WindowState = FormWindowState.Minimized;
 }
时间: 2024-11-01 11:15:33

失去焦点 最小化-请问:窗体失去焦点时最小化的问题的相关文章

关闭Outlook时最小化 dll

用Outlook时最让我感觉不爽的就是不小心点了关闭按钮就会把Outlook关闭. 我们用软件的时候都希望软件有一个关闭时最小化功能,更希望Outlook也有这个功能 但让我很失望的是把设置里看了一个遍也没找到这个设置,在国外的一个网站上看到了一个com组件 可以让Outlook关闭时最小化给大家分享一下 这是用到的dll里边有32位和64位两种,可根据你自己的机器选择 KeepOutlookRunning.rar 我用的是outlook 2013, 先点击文件选项进入 再打开选项窗体 找把加载

wpf 文本框失去焦点时验证,验证不通过,如何阻止文本框失去焦点或者是其重新获得焦点

问题描述 wpf 文本框失去焦点时验证,验证不通过,如何阻止文本框失去焦点或者是其重新获得焦点 如题:wpf 文本框失去焦点时验证,验证不通过,如何阻止文本框失去焦点或者是其重新获得焦点 解决方案 http://www.cnblogs.com/solo/archive/2012/07/02/2573490.html 解决方案二: js和jquery 中获得文本框焦点和失去焦点的方法

vb-VB6.0 请问窗体边框和阴影的宽度在哪里设置?怎么设置带有四周阴影的窗体?

问题描述 VB6.0 请问窗体边框和阴影的宽度在哪里设置?怎么设置带有四周阴影的窗体? VB6.0 请问窗体边框和阴影的宽度在哪里设置?怎么设置带有四周阴影的窗体? 解决方案 这个是操作系统控制的,在系统属性-高级-视觉效果里面可以设置. 解决方案二: UIView 设置阴影与边框

在插件Fragament里设置listview的数据,现在焦点丢失,如何找回item焦点

问题描述 在插件Fragament里设置listview的数据,现在焦点丢失,如何找回item焦点 网上说的方法都试过了,就是不管用,还请大牛给个更好的办法,谢谢啦

jquery-请教一个Jquery问题,我想在失去焦点的时候判断我失去焦点后的事件

问题描述 请教一个Jquery问题,我想在失去焦点的时候判断我失去焦点后的事件 现在我的光标在一个div中,当我点击div外面的一个按钮时,原来的div失去光标 ,在失去光标的方法里我想获得我点击div外面的那个按钮对象,可以实现吗谢谢 解决方案 angularjs 失去焦点事件AngularJs 失去焦点事件jquery获取和失去焦点事件 解决方案二: $('#YYY.').blur(function () 失去焦点时触发的时间 { 在这里取点击div外面的那个按钮对象的$('#XXX') }

eclipse有汉化版或者有什么样的汉化插件吗?

问题描述 请问那位大虾可以告诉我下eclipse有汉化版或者有什么样的汉化插件吗?我以前下载的那些汉化资料照着去做了都没有成功.求个汉化的方法? 解决方案 解决方案二:工具而已有什么要汉化的解决方案三:不需要汉化了啊,打开Eclipse,然后点击Help->InstallNewSoftware-弹出的窗口中的WorkWith中点击Add,然后添加相应Eclipse版本的Babel更新地址(http://download.eclipse.org/technology/babel/update-si

请问mysql导入数据时,文件名可以用正则表达吗?

问题描述 请问mysql导入数据时,文件名可以用正则表达吗? 我现在有很多iis产生的log文件,想要每天自动导入前一天的log日志到 mysql数据库,现在我只能通过load data local infile '/tmp/ex150801.log'手动导前一天的数据. 如果我要排job自动导出该怎么做? 解决方案 写一个程序定时去跑比较简单,而且灵活. 解决方案二: 用脚本等命令行去调用mysqlimport命令等去加载文件导入数据吧.LOAD DATA语法应该不支持正则

winforms-VB.net下如何实现鼠标进入窗体某区域时触发事件

问题描述 VB.net下如何实现鼠标进入窗体某区域时触发事件 VB.net Winforms开发form上有一个mediaplayer控件,在上面设置一个隐藏的(visible=false)按钮如何实现鼠标进入按钮附近区域时触发button1.visible=true的事件 因为按钮是在mediaplayer之上的,所以之前尝试的画Rectangle来检测鼠标位置的方法不行 想来想去只有通过PointToClient的方法实现,但是不知道具体怎么操作 求教,谢谢

如何避免多控件窗体重新布局时闪烁

适用场景: 需要在某容器控件中动态装载多个子控件,而且该容器控件可能需要改变WindowFormState,即从Normal转变为Maxmized,或者是其他状态转换啦, what ever :) 如果没有应用任何特殊处理,你就会发现,当容器控件状态转换时,其上的子控件在经过一阵狂闪之后(可能背景控件颜色和自身相互交替出现),最终恢复至平静; 这种情形当然无论是程序员自己和客户都不愿意看到的 ok,废话一通之后,咱们开始解释原因,以及考虑解决方案 为什么会闪烁? 因为窗体控件状态转换时,wind