2010-05-25 76 views
4

可能重复:
What's the proper way to minimize to tray a C# WinForms app?C#创建一个运行在后台的程序?

我怎样才能创建一个在后台运行,并可以通过Windows的‘通知区域’(如日期和时间进行访问的程序在右下角)?

换句话说,我希望能够创建一个运行的程序,并且可以在显示窗口和没有显示窗口之间切换。

+0

结帐这个答案http://stackoverflow.com/questions/46918/whats-the-proper-way-to-minimize-to-tray-ac-winforms-app/47743#47743在相关的问题。 – 2010-05-25 22:18:37

回答

3
  1. 拖放一个NotifyIconContextMenuStrip
  2. 集德的NotifyIcon的上下文菜单中的一个,你添加
  3. 添加2级的菜单项(如还原,退出)
  4. 设置窗体事件resize并做以下检查

    private void MyForm_Resize(object sender, EventArgs e) 
    { 
        if (this.WindowState == FormWindowState.Minimized) this.Hide(); 
        else this.Show(); 
    } 
    
    // you could also restore the window with a 
    // double click on the notify icon 
    private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) 
    { 
        this.Show(); 
        this.WindowState = FormWindowState.Normal; 
    } 
    

对于一个例子可以下载this project

不用担心右键单击事件,NotifyIcon will au tomatically detect it and显示ContextMenu