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);
}
}
}
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绑定快捷键的方法
- C#实现WinForm捕获最小化事件的方法
- WinForm之BindingSource基础操作实例教程
- 在winform下实现左右布局多窗口界面的方法之续篇
- WinForm相对路径的陷阱
- winform实现拖动文件到窗体上的方法
- WinForm实现程序一段时间不运行自动关闭的方法
- C#采用Winform实现类似Android的Listener
- WinForm自定义控件应用实例
- WinForm实现为TextBox设置水印文字功能
- C# WinForm 判断程序是否已经在运行,且只允许运行一个实例,附源码
- C#设置WinForm中DataGrid列的方法(列宽/列标题等)
- winform 实现控制输入法
- WinForm实现最小化到系统托盘方法实例详解
- WinForm中的几个实用技巧汇总
- WinForm实现按名称递归查找控件的方法
- 在winform下实现左右布局多窗口界面的方法
- C#通过html调用WinForm的方法
- Winform窗体传值的方法(示例)
- Winform实现抓取web页面内容的方法