• Winfrom窗体应用程序___程序最小化至托盘


    程序最小化至托盘包含以下:

    最小化-显示托盘-双击托盘-程序显示

    1.首先新建托盘控件,设置图标和名称:

    双击控件代码如下:

    /// <summary>
            /// 添加双击托盘图标事件(双击显示窗口)
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
            {
                if (WindowState == FormWindowState.Minimized)
                {
                    //还原窗体显示    
                    WindowState = FormWindowState.Normal;
                    //激活窗体并给予它焦点
                    this.Activate();
                    //任务栏区显示图标
                    this.ShowInTaskbar = true;
                    //托盘区图标隐藏
                    notifyIcon1.Visible = false;
                }
            }

    在主窗体的事件点击:SizeChanged &&  FormClosing  //大小改变和窗体关闭

    代码如下:

     1 /// <summary>
     2         /// 判断是否最小化,然后显示托盘
     3         /// </summary>
     4         /// <param name="sender"></param>
     5         /// <param name="e"></param>
     6         private void Form1_SizeChanged(object sender, EventArgs e)
     7         {
     8             //判断是否选择的是最小化按钮
     9             if (WindowState == FormWindowState.Minimized)
    10             {
    11                 //隐藏任务栏区图标
    12                 this.ShowInTaskbar = false;
    13                 //图标显示在托盘区
    14                 notifyIcon1.Visible = true;
    15             }
    16         }
    17 
    18         /// <summary>
    19         /// 确认是否退出
    20         /// </summary>
    21         /// <param name="sender"></param>
    22         /// <param name="e"></param>
    23         private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    24         {
    25             if (MessageBox.Show("是否退出程序?
    确定则退出程序,取消则最小化至托盘", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
    26             {
    27                 // 关闭所有的线程
    28                 this.Dispose();
    29                 this.Close();
    30             }
    31             else
    32             {
    33                 e.Cancel = true;
    34                 this.WindowState = FormWindowState.Minimized;
    35             } 
    36         }

     Over!

  • 相关阅读:
    网页嵌入视频常用方式
    2.4 对字母数字的混合排序
    VC操作Image的三种方法(收集)
    VC 窗口出现白屏闪烁的解决办法
    Invalidate(TRUE)与Invalidate(FALSE)区别(前者会发送WM_ERASEBKGND消息全部刷新,然后使用WM_PAINT消息绘制,而后者只发送WM_PAINT消息)
    QT 文件拖放事件dropEvent和dragEnterEvent
    百用随身系统 Veket Linux
    C#通过属性名称获取(读取)属性值的方法
    搭建一个完整的Java开发环境
    XSD实例
  • 原文地址:https://www.cnblogs.com/yishilin/p/7742142.html
Copyright © 2020-2023  润新知