C#: form 添加窗体最小化事件,添加系统托盘图标,点击后可以打开、最小软件窗口

说明:

1.实现窗体在最小化后触发一个事件,可以去实现需要的功能。

2.最小化后软件图标出现在系统右下角的托盘串口。

3.点击托盘口的图标可以实现软件弹出窗口和最小化的切换。

1.参考办法

以下是判断C#窗体最小化到状态栏的状态的方法:

1.首先,需要在窗体中添加一个NotifyIcon控件,并为其属性Icon添加一个图标。

2.然后,添加窗体的SizeChanged事件,代码如下:

private void Form1_SizeChanged(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Minimized)
    {
        this.Hide();
        this.notifyIcon1.Visible = true;
    }
}

3.最后,添加点击图标的事件,代码如下:

private void notifyIcon1_Click(object sender, EventArgs e)
{
    this.Visible = true;
    this.WindowState = FormWindowState.Normal;
    this.notifyIcon1.Visible = false;
}

4.补充说明:

NotifyIcon控件添加:搜索控件NotifyIcon,找到后拖到 form 窗口下方。

右键控件打开属性菜单,添加图标,Text 属性添加图标显示对应软件的名称或状态名称信息。

窗体的SizeChanged事件:右键点击窗口 选择属性、切换到 闪电 图标页面,打开属性窗口后找到 SizeChanged 双击自动添加事件函数。

2.实际应用代码

private void Form1_SizeChanged(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Minimized)
    {
        this.Hide();                         //使当前窗体隐藏,这意味着它不会占据屏幕空间,但仍然会保留在内存中。
        this.notifyIcon1.Visible = true;     //显示名为notifyIcon1的通知图标。通知图标通常是一个在任务栏显示的自定义图标,用于提醒用户应用程序仍在运行。
    }
}

//点击任务栏图标后切换软件窗口到默认状态或最小状态
private void notifyIcon1_Click(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Minimized)
    {
        this.Visible = true;                          //设置当前窗体或控件的可见性为true
        this.WindowState = FormWindowState.Normal;    //将窗体的状态设置为正常
        this.notifyIcon1.Visible = true;              //显示通知图标
        checkBox_full_display.Checked = false;        //取消曲线控件满屏显示
    }
    else //如果窗体不是最小化的(即处于正常或最大化状态),代码会将窗体的状态设置为最小化
    {
        this.WindowState = FormWindowState.Minimized;
    }
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-01 01:08:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-01 01:08:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-01 01:08:01       82 阅读
  4. Python语言-面向对象

    2024-02-01 01:08:01       91 阅读

热门阅读

  1. 继承和原型链

    2024-02-01 01:08:01       55 阅读
  2. 使用 Docker 部署 Nacos 并配置 MySQL 数据源

    2024-02-01 01:08:01       69 阅读
  3. 数据库优化系列教程(9)一技术升级与版本管理

    2024-02-01 01:08:01       61 阅读
  4. 湘潭大学-计算机网络-补考

    2024-02-01 01:08:01       49 阅读
  5. 龙哥风向标20240103 GPT拆解

    2024-02-01 01:08:01       43 阅读
  6. 计算机网络(第六版)复习提纲17

    2024-02-01 01:08:01       49 阅读