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 窗口下方。

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

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

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

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

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

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;
    }
}

你可能感兴趣的:(C#,c#,开发语言,窗体)