日期:2011-06-02  浏览次数:20412 次

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

以前在Visual C++编程环境里,编写一个这样的系统托盘程序,应该说比较复杂,还要自己添加消息处理函数。而在C#中,这一切就变得非常的容易了。下面是简单步骤。

为程序添加两个主要控件,NotifyIcon控件和ContextMenu控件;

为ContextMenu设置Menu菜单和相应菜单的Click事件;

为控件NotifyIcon的属性Icon添加一个icon图标,并为它的ContextMenu行为选中添加的ContextMenu作为上下文菜单;

设置窗体属性ShowInTask=false,设置窗体的WindowState为Minimized;

在主窗体的InitializeComponent()方法中添加事件代码

this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged)
然后添加如下的SizeChanged事件代码

private void Form1_SizeChanged(object sender, EventArgs e)

{

    if (this.WindowState==FormWindowState.Minimized)

     {

         this.Hide();//隐藏主窗体

         this.notifyIcon1.Visible=true;

     }

}

this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged)
然后添加如下的SizeChanged事件代码

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的菜单。