0


winform 关闭时隐藏到托盘

需求: 点击主窗口关闭到托盘

  1. 拖动一个notifyIcon 控件到窗口

  2. 再动一个contextMenuStrip 到主窗口,做托盘里图标右键菜单使用,

3.菜单里两个选项:

显示主界面和退出

  1. 绑定 notifyIcon 的 contextMenuStrip 为contextMenuStrip1

  1. 主页面的FormClosing 事件,重写后加 显示任务栏图标且显示托盘图标。

private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
//this.WindowState = FormWindowState.Minimized;
this.Hide();
//隐藏任务栏区图标
this.ShowInTaskbar = false;
//图标显示在托盘区
notifyIcon1.Visible = true;

             e.Cancel = true;
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.ToString());
         }

    }
  1. 最后一步:托盘图标事件:

#region 托盘右键图标
///


/// 双击托盘图标显示主界面
///

/// <param name="sender"></param>
/// <param name="e"></param>
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
//还原窗体显示
this.WindowState = FormWindowState.Normal;
//激活窗体并给予它焦点
this.Activate();
this.Show();
//任务栏区显示图标
this.ShowInTaskbar = true;
//托盘区图标隐藏
notifyIcon1.Visible = true;
}
///
/// 单击菜单显示主界面
///

/// <param name="sender"></param>
/// <param name="e"></param>
private void 显示主界面ToolStripMenuItem_Click(object sender, EventArgs e)
{
WindowState = FormWindowState.Normal;
this.Show();
}

    /// <summary>
     /// 右键退出
     /// </summary>
     /// <param name="sender"></param>
     /// <param name="e"></param>
     private void 退出ToolStripMenuItem_Click_1(object sender, EventArgs e)
     {
         if (MessageBox.Show("是否确认退出程序?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
         {
             System.Environment.Exit(0);
            // if (myThread != null)
             //{
              //   myThread.Abort();
             //}
             // 关闭所有的线程
             this.Dispose();
             this.Close();
         }
     }
     #endregion

本文转载自: https://blog.csdn.net/u010919083/article/details/118569055
版权归原作者 霍先生的虚拟宇宙网络 所有, 如有侵权,请联系我们删除。

“winform 关闭时隐藏到托盘”的评论:

还没有评论