在 子控件中,如何去隐藏NotifyIcon(任务栏图标)
2014-04-04 12:22
344 查看
话说今天搞一个程序,需要缩小到托盘的这个操作。于是就是用了NotifyIcon这个控件。
这个控件的主要作用就是 缩小到任务栏 操作。但是今天我不是讲 缩小到任务栏 的操作,而是讲的 在子控件里面如果去调用方法把任务栏的图标隐藏掉。
在开始的时候我很天真的以为这很简单啊:
这很简单嘛,这样操作就行了啊,结果报错了。根本就找不到这个控件。于是我查看了Form1的控件生成的 设计CS文件,发现,其实这个控件根本就没有加载到Form1里面去,所以是用这样的方法肯定是行不通的。
在纠结一阵以后,我决定换种思路区去实现这个功能。在Form1中,我们可以把设置隐藏的方式放到 Form1的方法里面去,例如:FormClosing。这个方法表示,在关闭窗体的时候触发这个事件。然后我们在 自定义控件里面就可以直接使用:
前一个起得作用,后面一个只是为了彻底关闭Winform程序。当我们在调用Form的关闭方法的时候,他触发在Form本身附加的 FormClosing 方法。
其实这个并不难想到,但是为了加深记忆,还是决定手写一次。方便下次查找。
这个控件的主要作用就是 缩小到任务栏 操作。但是今天我不是讲 缩小到任务栏 的操作,而是讲的 在子控件里面如果去调用方法把任务栏的图标隐藏掉。
在开始的时候我很天真的以为这很简单啊:
(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; }
其实这个并不难想到,但是为了加深记忆,还是决定手写一次。方便下次查找。
相关文章推荐
- Flex:如何实现利用Flex隐藏任务栏图标
- 如何隐藏应用程序的任务栏图标zz
- 如何隐藏任务栏图标小结
- 如何隐藏QT窗口在任务栏(taskbar)的任务图标
- BCB如何隐藏任务栏上对应的程序图标按钮,不是托盘上的
- C#如何编写最小化时隐藏为任务栏图标
- 如何隐藏一个程序在任务栏上图标
- 如何用图表控件实现点击图例图标隐藏图表序列
- Win10如何隐藏Windows Defender任务栏图标
- Win10如何隐藏Windows Defender任务栏图标
- Win10如何隐藏Windows Defender任务栏图标
- win7中如何隐藏pcanywhere任务栏图标
- 如何清除任务栏被隐藏图标的历史记录
- MFC对话框初始化运行时如何隐藏,托盘图标,任务栏图标的相关问题
- Win10如何隐藏Windows Defender任务栏图标
- 如何用图表控件实现点击图例图标隐藏图表序列
- 如何隐藏任务栏图标
- Win7任务栏右下角小三角按钮如何显示以便隐藏更多的程序图标
- 如何隐藏QT窗口在任务栏(taskbar)的任务图标
- C#关于如何在任务栏中隐藏和显示其它应用程序的图标