C#WinForm程序设计——系统托盘NotifyIcon控件

原创 2011年01月10日 20:43:00

通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制。这些进程不会具有自己的用户界面。NotifyIcon 类提供了编写此功能的方法。Icon属性定义显示在通知区域中的图标。图标的弹出菜单由 ContextMenu属性确定。Text属性分配工具提示文本。要在通知区域中显示图标,必须将 Visible属性设置为 true

具体使用方法:

(1)新创建一个项目Form1,text属性修改为托盘演示;
(2)向Form1窗口中添加一个NotifyIcon控件,修改其Name属性为 MyNotifyIcon。修改其Text属性为
   托盘演示,与应用程序的标题相同。这是因为NotifyIcon显示在系统托盘中时,Text属性中保存的
   文本为鼠标移动到程序图标上时的提示信息。修改Icon属性,为NotifyIcon添加一个图标;
(3)在Form1的属性窗口上,把Icon属性也选择为与NotifyIcon相同的图标。修改ShowInTaskBar属性值为
    False,这样,应用程序在运行时就不会出现在任务栏中;
(4)添加双击NotifyIcon时的事件处理代码(DoubleClick)
   private void MynotifyIcon_DoubleClick(object sender, System.EventArgs e)
   {
     if(this.Visible)
      {
        this.Hide();
      }else
           {
             this.Show();
           }
      }
(5)在使用NotifyIcon控件时,经常需要用到快捷菜单(ContextMenu控件)。使用方法为,向Form1中添加contextmenu控件,添加两个功能,一个为打开主界面,一个为退出。在NotifyIcon的ContextMenu属性中选择刚刚添加的ContextMenu控件。这样在图标上可以通过快捷菜单执行程序的各种功能。  
在功能的单击事件中代码如下:

 private void 打开主界面ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Visible)
            {
                this.Hide();
            }
            else
            {
                this.Show();
            }

        }

        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

 

 

 

  这篇文章继续介绍系统托盘NotifyIcon的使用,项目实现效果为:最小化窗体时,在系统托盘区域显示程序图标,并有气球提示,时间为30秒。效果如图,具体实现如下:

1、创建一个新的项目From1;修改其Text属性为“系统托盘演示”,修改其ShowInTaskbar属性为False,为其添加一个图标。 

2、添加一个NotifyIcon控件NotifyIcon1,修改其Text属性为“系统托盘演示”,为其添加一个图标,与From1图标相同。

3、添加一个ContextMenuStrip控件ContextMenuStrip1,添加两个MenuItem,Text属性分别为打开,退出。 并在NotifyIcon控制中的ContextMenuStrip属性中选择刚刚创建的ContextMenuStrip1控件。

4、下面将处理具体事件:

(1)Form1_SizeChanged事件,效果为最小化窗体时,在系统托盘区域显示程序图标及气球提示:

    private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                this.Hide();
                this.notifyIcon1.Visible = false;
                this.notifyIcon1.ShowBalloonTip(30, "注意", "大家好,这是一个事例", ToolTipIcon.Info);
            }
           
        }

(2)NotifyIcon控件的doubleclick事件及两个menuitem的click事件:

 private void notifyIcon1_DoubleClick(object sender, EventArgs e)
        {
            this.Show();
            this.WindowState = FormWindowState.Normal;
        }

        private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
        
            this.Show();
            this.WindowState = FormWindowState.Normal;

        }

这样就实现了上述功能,需要强调的是:代码this.notifyIcon1.ShowBalloonTip(30, "注意", "大家好,这是一个事例", ToolTipIcon.Info);为气球提示的实现,代码WindowState == FormWindowState.Minimized为窗体最小化的判断条件,代码this.WindowState = FormWindowState.Normal;为窗体还原的实现。

右侧程序截图:

                                                  

 

通过设置在窗体的WindowState 属性选择Minimized,可以实现开机自动最小化。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

C# 系统托盘 控件NotifyIcon

NotifyIcon 控件的常用属性 属性:Icon 类型:System.Drawing.Icon 说明:将在系统任务栏中显示的图标。可以在设计时指定,也可在运行时动态指定。 属性:Text...

WinForm:系统托盘NotifyIcon

通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制。这些进程不会具有自己的用户界面。NotifyIcon 类提供了编写此功能的方法。Icon属性定义显示在通知区域中...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

C# WinForm窗口最小化到系统托盘 右键操作菜单

注:本程序是在VS2005基础上写的。 1。如果不想让程序在任务栏中显示,请把窗体的属性ShowInTaskbar设置为false; 2。如果想让程序启动时就最小化,请设置窗体的属性Win...

C#实现WinForm窗口最小化到系统托盘

C#实现WinForm窗口最小化到系统托盘 C#编写最小化时隐藏为任务栏图标的 Window appllication.   1.设置WinForm窗体属性showinTask=fals...

C#WinForm - 【解决】设置最小化到系统托盘后Close()无法退出

STEP1、添加托盘图标控件NotifyIcon(直接从工具箱中拖动添加即可) STEP2、添加(重写)窗口尺寸变动函数Form1_Resize private void Form...

C#WinForm 藏到系统托盘

1 添加Form1_Load事件-启动不显示图标 private void Form1_Load(object sender, EventArgs e) { ...

C#实现WinForm窗口最小化到系统托盘

C#编写最小化时隐藏为任务栏图标的 Window appllication.1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件...

C#实现WinForm程序的动态系统托盘图标

1.在主窗体中添加一个 NotifyIcon 控件-notifyIcon12.在主窗体中添加一个 ContextMenu 控件-contextMenu1,并添加菜单项3.设置 notifyIcon1 ...

系统托盘Shell_NotifyIcon 函数

1、函数格式   BOOL Shell_NotifyIcon( DWORD dwMessage,PNOTIFYICONDATA lpdata);   2、参数说明:   dwMessage为输入...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)