您的位置:首页 > 编程语言 > C#

C# winform中使窗体最小化(NotifyIcon)

2016-05-07 16:09 387 查看
winform中经常使用的需要长时间打开着的程序,在不操作时也需要一直保持运行状态,可以使用NotifyIcon控件

1.添加一个NotifyIcon控件notifyIcon,为控件notifyIcon的属性Icon添加一个icon图标

2.给窗体添加一个退出按钮,取名btnClose

3.主要代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace NotifyIcon
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/// <summary>
/// 窗体大小变化时发生的时间,主要用于点击缩小按钮时发生
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Resize(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)//最小化到系统托盘
{
notifyIcon.Visible = true;//显示托盘图标
this.Hide();//隐藏窗口
}
}

/// <summary>
/// 关闭窗体时发生的事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//注意判断关闭事件Reason来源于窗体按钮,否则用菜单退出时无法退出!
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;//取消"关闭窗口"事件
this.WindowState = FormWindowState.Minimized;//使关闭时窗口向右下角缩小的效果
notifyIcon.Visible = true;
this.Hide();
return;
}
}

/// <summary>
/// 双击任务栏图标
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)
{
notifyIcon.Visible = false;
this.Show();
WindowState = FormWindowState.Normal;
this.Focus();
}

/// <summary>
/// 窗体界面上添加的退出按钮,点击时全部退出程序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnClose_Click(object sender, EventArgs e)
{
notifyIcon.Visible = false;
Environment.Exit(0);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  winform NotifyIcon