在 子控件中,如何去隐藏NotifyIcon(任务栏图标)

        话说今天搞一个程序,需要缩小到托盘的这个操作。于是就是用了NotifyIcon这个控件。

       这个控件的主要作用就是 缩小到任务栏 操作。但是今天我不是讲 缩小到任务栏  的操作,而是讲的 在子控件里面如果去调用方法把任务栏的图标隐藏掉。

       在开始的时候我很天真的以为这很简单啊:

     

(this.FindForm().Controls.Find("notifyIcon1", true)[0]).Visible = false;


      这很简单嘛,这样操作就行了啊,结果报错了。根本就找不到这个控件。于是我查看了Form1的控件生成的  设计CS文件,发现,其实这个控件根本就没有加载到Form1里面去,所以是用这样的方法肯定是行不通的。

     在纠结一阵以后,我决定换种思路区去实现这个功能。在Form1中,我们可以把设置隐藏的方式放到 Form1的方法里面去,例如:FormClosing。这个方法表示,在关闭窗体的时候触发这个事件。然后我们在 自定义控件里面就可以直接使用:

this.FindForm().Close();
            System.Environment.Exit(0);


前一个起得作用,后面一个只是为了彻底关闭Winform程序。当我们在调用Form的关闭方法的时候,他触发在Form本身附加的 FormClosing 方法。

 private void frmDemo_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.notifyIcon1.Visible = false;
        }


其实这个并不难想到,但是为了加深记忆,还是决定手写一次。方便下次查找。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值