winform 界面最小化
时间: 2023-08-01 11:11:26 浏览: 73
当WinForm界面最小化时,可以通过以下几种方式实现:
1. 使用SizeChanged事件和WindowState属性判断界面是否最小化,然后隐藏任务栏区图标,显示在托盘区。代码如下:
```csharp
private void Main_SizeChanged(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
this.ShowInTaskbar = false;
notifyIcon1.Visible = true;
}
}
```
2. 使用FormClosing事件和MessageBox判断是否确认退出程序,如果确认退出,则关闭所有线程。代码如下:
```csharp
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("是否确认退出程序?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
this.Dispose();
this.Close();
}
else
{
e.Cancel = true;
}
}
```
3. 使用NotifyIcon的MouseDoubleClick事件,判断窗体是否最小化,如果是,则还原窗体显示,并隐藏托盘区图标。代码如下:
```csharp
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
WindowState = FormWindowState.Normal;
this.Activate();
this.ShowInTaskbar = true;
notifyIcon1.Visible = false;
}
}
```
以上是三种常见的实现方式,可以根据具体需求选择其中一种或多种方式来实现WinForm界面最小化的功能。