WinForm实现最小化到系统托盘方法实例详解

作者:陌香 时间:2023-10-05 05:53:30 

本文实例讲述了WinForm实现最小化到系统托盘方法。分享给大家供大家参考。具体分析如下:

有个叫NotifyIcon的控件

1、建个WinForm项目,其它操作略过。
2、拉个NotifyIcon控件,将属性Visable设置成False,在Text属性上随便填些文件。
3、实现Form的SizeChanged事件,代码如下:


if(this.WindowState == FormWindowState.Minimized) //判断是否最小化
{
this.ShowInTaskbar = false; //不显示在系统任务栏
notifyIcon.Visible = true; //托盘图标可见
}

4、实现NotifyIcon控件的DoubleClick事件,代码如下:


if(this.WindowState == FormWindowState.Minimized)
{
this.ShowInTaskbar = true; //显示在系统任务栏
this.WindowState = FormWindowState.Normal; //还原窗体
notifyIcon.Visible = false; //托盘图标隐藏
}

例题:


private ContextMenu notifyiconMnu;
#region 最小化到任务栏
/// <summary>
/// 最小化到任务栏
/// </summary>
private void Initializenotifyicon()
{
 //定义一个MenuItem数组,并把此数组同时赋值给ContextMenu对象
 MenuItem[] mnuItms = new MenuItem[3];
 mnuItms[0] = new MenuItem();
 mnuItms[0].Text = "显示窗口";
 mnuItms[0].Click += new System.EventHandler(this.notifyIcon1_showfrom);
 mnuItms[1] = new MenuItem("-");
 mnuItms[2] = new MenuItem();
 mnuItms[2].Text = "退出系统";
 mnuItms[2].Click += new System.EventHandler(this.ExitSelect);
 mnuItms[2].DefaultItem = true;
 notifyiconMnu = new ContextMenu(mnuItms);
 notifyIcon1.ContextMenu = notifyiconMnu;
 //为托盘程序加入设定好的ContextMenu对象
}
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
 if (this.WindowState == FormWindowState.Minimized)
 {
   this.Show();
   this.ShowInTaskbar = true;
   this.WindowState = FormWindowState.Normal;
   notifyIcon1.Visible = false;
 }
}
public void notifyIcon1_showfrom(object sender, System.EventArgs e)
{
 if (this.WindowState == FormWindowState.Minimized)
 {
   this.Show();
   this.ShowInTaskbar = true;
   this.WindowState = FormWindowState.Normal;
   notifyIcon1.Visible = false;
 }
}
public void ExitSelect(object sender, System.EventArgs e)
{
 //隐藏托盘程序中的图标
 notifyIcon1.Visible = false;
 //关闭系统
 this.Close();
 this.Dispose(true);
}
#endregion
private void Form_main_SizeChanged(object sender, EventArgs e)
{
 if (this.WindowState == FormWindowState.Minimized)
 //判断是否最小化
 {
   notifyIcon1.Visible = true;
   this.Hide();
   this.ShowInTaskbar = false;
   Initializenotifyicon();
 }
}

希望本文所述对大家的C#程序设计有所帮助。

标签:WinForm,最小化
0
投稿

猜你喜欢

  • Java8时间接口LocalDateTime详细用法

    2023-11-25 09:56:49
  • Android 中View.onDraw(Canvas canvas)的使用方法

    2022-11-16 16:40:48
  • java实现上传图片尺寸修改和质量压缩

    2023-04-04 03:42:55
  • AndroidStudio实现能在图片上涂鸦程序

    2023-09-14 06:57:02
  • 浅谈JAVA 内存流的实现

    2021-06-28 05:43:59
  • Unity 数据存储和读取的方法汇总

    2021-12-12 11:39:47
  • C#中List集合使用Max()方法查找到最大值的实例

    2023-12-01 08:03:32
  • Flutter开发Mac桌面应用实现自动提取生成视频字幕文件

    2023-05-11 05:25:58
  • java高并发写入用户信息到数据库的几种方法

    2023-07-09 08:45:49
  • 详解Java 连接MongoDB集群的几种方式

    2022-10-03 17:50:47
  • Java Config下的Spring Test几种方式实例详解

    2022-12-17 00:31:36
  • SpringBoot如何进行参数校验实例详解

    2022-10-24 03:39:33
  • C#实现Check Password和锁定输错密码锁定账户功能

    2023-01-20 03:04:33
  • Android中通知Notification使用实例(振动、灯光、声音)

    2021-09-28 20:00:01
  • 在C#中捕获内存不足异常

    2021-07-14 11:50:46
  • SpringBoot使用Sharding-JDBC实现数据分片和读写分离的方法

    2023-07-27 02:15:50
  • C# winform 请求http的实现(get,post)

    2023-03-20 13:52:01
  • java面试常见模式问题---单例模式

    2022-11-29 09:12:28
  • IDEA基于支付宝小程序搭建springboot项目的详细步骤

    2021-10-30 22:44:46
  • JAVA各种OOM代码示例与解决方法

    2023-01-23 04:28:00
  • asp之家 软件编程 m.aspxhome.com