您的位置:首页 > 其它

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

2014-04-04 12:22 344 查看
话说今天搞一个程序,需要缩小到托盘的这个操作。于是就是用了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;
        }


其实这个并不难想到,但是为了加深记忆,还是决定手写一次。方便下次查找。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: