zoukankan      html  css  js  c++  java
  • Winforms中使用系统托盘图标

    1.在form窗体中拖入notifyIcon控件。

    2.设置控件的text属性和指定ICO图标文件。

    3.运行程序,发现右下角的出现了系统托盘。

    更多技巧:

    1.添加右键菜单:

    在窗体上拖入contextMenuStrip控件,设置notifyIcon控件的contextMenuStrip属性名称为拖入的contextMenuStrip控件名称。

    2.窗口关闭时窗口隐藏,通过右键菜单显示和关闭:

    代码如下:

    设置窗口的关闭为隐藏:

       1: bool isClose = false;//设置标示 标示窗口是否真正关闭
       2:       private void Form5_FormClosing(object sender, FormClosingEventArgs e)
       3:       {
       4:           //如果不是真正关闭 则取消关闭事件 讲窗体设置为隐藏
       5:           if (!isClose)
       6:           {
       7:               e.Cancel = true; 
       8:               this.Visible = false;
       9:           }
      10:       }

    使用托盘的右键菜单关闭窗体:

       1: /// <summary>
       2: // 托盘的右键关闭菜单 真正关闭窗体
       3: /// </summary>
       4: /// <param name="sender"></param>
       5: /// <param name="e"></param>
       6: private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
       7: {
       8:     
       9:     isClose = true;
      10:     Application.Exit();
      11: }

    使用托盘的右键菜单显示隐藏的窗体:

       1: /// <summary>
       2: // 托盘的右键显示菜单 显示隐藏的窗体
       3: // </summary>
       4: // <param name="sender"></param>
       5: // <param name="e"></param>
       6: rivate void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
       7:  
       8:    this.Visible = true;

    3.窗口最小化到系统托盘上

    使用窗体SizeChanged事件隐藏窗体:

       1: /// <summary>
       2: /// 设置系统状态为最小化的时候 窗体隐藏  注意使用的SizeChanged事件
       3: /// </summary>
       4: /// <param name="sender"></param>
       5: /// <param name="e"></param>
       6: private void Form5_SizeChanged(object sender, EventArgs e)
       7: {
       8:     //判断状态为最小化状态时隐藏窗体
       9:     if (this.WindowState == FormWindowState.Minimized)
      10:     {
      11:         this.Visible = false;
      12:     }
      13: }

    使用托盘右键菜单显示隐藏的窗体,并设置窗体的显示方式为正常状态:

       1: /// <summary>
       2: // 托盘的右键显示菜单 显示隐藏的窗体
       3: // </summary>
       4: // <param name="sender"></param>
       5: // <param name="e"></param>
       6: rivate void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
       7:  
       8:    this.Visible = true;
       9:    this.WindowState = FormWindowState.Normal;//设置显示状态为正常状态

    4.双击系统托盘图标显示和隐藏窗体

    使用notifyIcon控件的DoubleClick事件:

       1: /// <summary>
       2: /// notifyIcon控件的DoubleClick事件 
       3: /// </summary>
       4: /// <param name="sender"></param>
       5: /// <param name="e"></param>
       6: private void notifyIcon1_DoubleClick(object sender, EventArgs e)
       7: {
       8:     bool isShow = this.Visible == true ? false : true;
       9:     this.Visible = isShow;
      10: }

    全部代码如下:

       1: using System;
       2: using System.Collections.Generic;
       3: using System.ComponentModel;
       4: using System.Data;
       5: using System.Drawing;
       6: using System.Linq;
       7: using System.Text;
       8: using System.Windows.Forms;
       9:  
      10: namespace TestApp
      11: {
      12:     /// <summary>
      13:     /// 系统托盘演示
      14:     /// 樊凯
      15:     /// http://kay.cnblogs.com
      16:     /// </summary>
      17:     public partial class Form5 : Form
      18:     {
      19:         public Form5()
      20:         {
      21:             InitializeComponent();
      22:         }
      23:  
      24:         private void Form5_Load(object sender, EventArgs e)
      25:         {
      26:  
      27:         }
      28:         bool isClose = false;//设置标示 标示窗口是否真正关闭
      29:         private void Form5_FormClosing(object sender, FormClosingEventArgs e)
      30:         {
      31:             //如果不是真正关闭 则取消关闭事件 讲窗体设置为隐藏
      32:             if (!isClose)
      33:             {
      34:                 e.Cancel = true; 
      35:                 this.Visible = false;
      36:             }
      37:         }
      38:  
      39:         /// <summary>
      40:         /// 托盘的右键关闭菜单 真正关闭窗体
      41:         /// </summary>
      42:         /// <param name="sender"></param>
      43:         /// <param name="e"></param>
      44:         private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
      45:         {
      46:             
      47:             isClose = true;
      48:             Application.Exit();
      49:         }
      50:         /// <summary>
      51:         /// 托盘的右键显示菜单 显示隐藏的窗体
      52:         /// </summary>
      53:         /// <param name="sender"></param>
      54:         /// <param name="e"></param>
      55:         private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
      56:         {
      57:             this.Visible = true;
      58:             this.WindowState = FormWindowState.Normal;//设置显示状态为正常状态
      59:         }
      60:  
      61:         /// <summary>
      62:         /// 设置系统状态为最小化的时候 窗体隐藏  注意使用的SizeChanged事件
      63:         /// </summary>
      64:         /// <param name="sender"></param>
      65:         /// <param name="e"></param>
      66:         private void Form5_SizeChanged(object sender, EventArgs e)
      67:         {
      68:             //判断状态为最小化状态时隐藏窗体
      69:             if (this.WindowState == FormWindowState.Minimized)
      70:             {
      71:                 this.Visible = false;
      72:             }
      73:         }
      74:  
      75:         /// <summary>
      76:         /// notifyIcon控件的DoubleClick事件 
      77:         /// </summary>
      78:         /// <param name="sender"></param>
      79:         /// <param name="e"></param>
      80:         private void notifyIcon1_DoubleClick(object sender, EventArgs e)
      81:         {
      82:             bool isShow = this.Visible == true ? false : true;
      83:             this.Visible = isShow;
      84:         }
      85:     }
      86: }

    The End!

  • 相关阅读:
    基于opencv的摄像头的标定
    图像的角点简介
    周转时间和平均带权时间等
    QT各个版本的下载的地址
    参考文献格式
    sublime中的emmet插件的使用技巧
    sublime快捷键
    CSS布局居中
    Markdown 语法说明(简体中文版)
    sql作业题
  • 原文地址:https://www.cnblogs.com/kay/p/1257673.html
Copyright © 2011-2022 走看看