事情是这样,为了自己使用方便,就顺手写了一个看网络电视的程序。程序最小化到系统托盘中,这样在看网络电视的时候,就可以随时打开,随时切换,比较方便,呵呵。
以前在visual c++编程环境里,编写一个这样的系统托盘程序,应该说比较复杂,还要自己添加消息处理函数。而在c#中,这一切就变得非常的容易了。下面是简单步骤。
为程序添加两个主要控件,notifyicon控件和contextmenu控件;
为contextmenu设置menu菜单和相应菜单的click事件;
为控件notifyicon的属性icon添加一个icon图标,并为它的contextmenu行为选中添加的contextmenu作为上下文菜单;
设置窗体属性showintask=false,设置窗体的windowstate为minimized;
在主窗体的initializecomponent()方法中添加事件代码
private void form1_sizechanged(object sender, eventargs e)
{
if (this.windowstate==formwindowstate.minimized)
{
this.hide();//隐藏主窗体
this.notifyicon1.visible=true;
}
}
private void form1_sizechanged(object sender, eventargs e)
{
if (this.windowstate==formwindowstate.minimized)
{
this.hide();//隐藏主窗体
this.notifyicon1.visible=true;
}
}
{
if (this.windowstate==formwindowstate.minimized)
{
this.hide();//隐藏主窗体
this.notifyicon1.visible=true;
}
}
这样程序启动以后,就自动的最小化到系统托盘了,在托盘图标上面单击右键,就显示出contextmenu的菜单。
新闻热点
疑难解答