zoukankan      html  css  js  c++  java
  • NotifyIcon实现托盘程序

    NotifyIcon 控件的常用属性
    属性:Icon
    类型:System.Drawing.Icon
    说明:将在系统任务栏中显示的图标。可以在设计时指定,也可在运行时动态指定。
    属性:Text
    类型:String
    说明:用于指定当鼠标停留在小图标上时显示的信息。
    属性:Visible
    类型:Bool
    说明:用于设置小图标是否显示。
    注意:如果程序退出前没有将其设置为false,那么小图标将一直停留在系统栏,直到鼠标从上面经过时才会消失。
    操作:Click
    说明:当鼠标单击时激发的事件
    操作:DoubleClick
    说明:当鼠标双击时激发的事件
    操作:MouseDown
    说明:当鼠标其中一键按下时激发的事件
    操作:MouseUp
    说明:当鼠标其中一键松开时激发的事件
    操作:MouseMove
    说明:当鼠标其中一键从上掠过时激发的事件

    BalloonTipIcon -- 气球工具提示关联的图标
    BallonnTipText -- 气球工具提示关联的文本
    BallonnTipText -- 气球工具提示的标题

    实践:
    要求将程序最小化的同时让程序的图标出现在“系统托盘”的位置上,而不显示在“任务栏”中。鼠标双击系统托盘中的图标时,还原窗体。

    <1>.ShowInTaskbar属性控制是否在任务栏显示窗体。
    <2>.WindowState 属性指出当前Winform窗体的窗口状态。
    当前窗口状态只有三种情况:
    FormWindowState.Maximized;//最大化窗口
    FormWindowState.Minimized;//最小化窗口
    FormWindowState.Normal;//默认的窗口大小
    <3>.使用notifyIcon控件是控制出现在系统托盘的内容的。
    notifyIcon.Icon -- 指定出现在任务栏中的Icon图标
    notifyIcon.Text -- 显示的文本
      notifyIcon.BalloonTipIcon -- 气球工具提示关联的图标
    notigyIcon.BallonnTipText -- 气球工具提示关联的文本
      notigyIcon.BallonnTipText -- 气球工具提示的标题。
    <4>.应在Form_SizeChange事件中完成判断,具体代码:

    /// <summary>
    /// 最小化值系统托盘
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Form_SizeChanged(object sender, EventArgs e)
    {
       if (this.WindowState == FormWindowState.Minimized) //判断是否最小化
       {
           this.ShowInTaskbar = false; //不显示在系统任务栏
           notifyIcon.Visible = true; //托盘图标可见
       }
    }
    /// <summary>
    /// 还原(notifyIcon的鼠标双击事件)
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
       if (this.WindowState == FormWindowState.Minimized)
       {
           this.ShowInTaskbar = true; //显示在系统任务栏
           this.WindowState = FormWindowState.Normal; //还原窗体
           notifyIcon1.Visible = false; //托盘图标隐藏
       }
    }

    <5>.给notifyIcon添加右键菜单:
    主窗体中拖入一个ContextMenu控件contextMenu1,点中控件,在上下文菜单中添加菜单,notifyIcon1的ContextMenu行为中选中contextMenu1作为上下文菜单。
    NotifyIcon.ShowBalloonTip (time) 在任务栏中持续显示气球提示指定的时间(以毫秒为单位)。最小和最大超时值由操作系统执行,一般分别为 10 秒和 30 秒,但这可能因操作系统而异。太大或太小的超时值将调整为适当的最小值或最大值。此外,如果用户看起来没有使用计算机(没有键盘或鼠标事件发生),则系统不将此时间计算在超时值内。
    一次只能在任务栏中显示一个气球提示。如果当前在任务栏中已经显示了一个气球提示,则尝试显示其他气球提示将导致忽略 timeout 值。行为会因气球提示是来自其他应用程序,还是来自同一应用程序而稍有不同。如果第二个气球提示来自其他应用程序,第一个气球提示将在第二个提示出现之前持续显示最小超时值,而不管 timeout. 的值是多少。如果这两个气球提示来自同一应用程序,则第一个气球提示在再次调用 ShowBalloonTip 方法时立即关闭。标题文本将在气球顶部附近以粗体显示。

    private void SetBalloonTip()
    {
       notifyIcon1.Icon = SystemIcons.Exclamation;
       notifyIcon1.BalloonTipTitle = "Balloon Tip Title";
       notifyIcon1.BalloonTipText = "Balloon Tip Text.";
       notifyIcon1.BalloonTipIcon = ToolTipIcon.Error;
       this.Click += new EventHandler(Form1_Click);
    }
    void Form1_Click(object sender, EventArgs e)
    {
       notifyIcon1.Visible = true;
       notifyIcon1.ShowBalloonTip(30);
    }

    引用 http://blog.csdn.net/lanmao100/article/details/2174137

  • 相关阅读:
    LruCache 原理
    线程间通信, 进程间通信
    安卓 权限 规则
    android 捕获所有异常 未捕获的异常
    serializable parcelable
    android intent 传递 二进制数据
    apk安装 卸载 原理
    ARGB 8888 内存大小
    dalvik 基于 jvm 的改进
    查看 MySQL 数据库中每个表占用的空间大小
  • 原文地址:https://www.cnblogs.com/duanjt/p/5169020.html
Copyright © 2011-2022 走看看