说明:
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;
}
}