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

来源:互联网 发布:gps里程统计算法 编辑:程序博客网 时间:2024/06/06 00:33

        话说今天搞一个程序,需要缩小到托盘的这个操作。于是就是用了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 0
原创粉丝点击