事情是这样,为了自己使用方便,就顺手写了一个看网络电视的程序。程序最小化到系统托盘中,这样在看网络电视的时候,就可以随时打开,随时切换,比较方便,呵呵。
以前在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的菜单。