解决窗体靠边自动隐藏和最小化后恢复窗体的冲突

本文介绍了解决一个具体问题的方法:当主窗体最小化时,点击系统托盘图标无法显示主窗体。通过在主窗体位置改变事件中加入对窗体状态的判断,控制定时器的启停,成功解决了该问题。

琢磨来琢磨去,代码多了就是乱,花了点时间把代码用#REGION分成一个个块,终于清晰了,想到问题是"点击MYQQ的系统托盘不显示主窗体",由于最小化也是主窗体的Location坐标改变,而有一个timer控件一直在扫描主窗体,所以会把最小化也当成主窗体靠边自动隐藏来处理,主窗体靠边自动隐藏后恢复主窗体触发条件是鼠标移动到主窗体边上,而最小化恢复窗体是单击事件,导致了主窗体最小化后"点击MYQQ的系统托盘不显示主窗体"

 

//本来在"主窗体的Location坐标改变事件中"只是启动窗体自动隐藏的逻辑方法

private void MainForm_LocationChanged(object sender, EventArgs e)
        {
                           this.mStopAnthor();
         }

 

//后来发现解决问题只需要加一个最小化时"停止扫描窗体位置变化的timer控件"判断就OK了

 private void MainForm_LocationChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                tmrStop.Stop();
            }
            else
            {
                tmrStop.Start();
                this.mStopAnthor();
            }

 

//窗体自动隐藏的实现是网上找的,看来还是不熟悉啊,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值