我想隐藏我的表单,同时让我的应用程序在后台运行。我使用了 notifyIcon 并且它始终可见。
我用过“this.Hide();” 隐藏我的表单,但不幸的是我的应用程序关闭了(也不例外)。
我也在使用线程,这种形式在第二个线程上。
请告诉我该如何解决。
我想隐藏我的表单,同时让我的应用程序在后台运行。我使用了 notifyIcon 并且它始终可见。
我用过“this.Hide();” 隐藏我的表单,但不幸的是我的应用程序关闭了(也不例外)。
我也在使用线程,这种形式在第二个线程上。
请告诉我该如何解决。
添加以下事件处理程序以调整表单大小并通知图标单击事件
private void Form_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
this.Hide();
}
}
private void notifyIcon_Click(object sender, EventArgs e)
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
但这不是关闭你的应用程序
我也在使用线程,这种形式在第二个线程上。
我的水晶球说您使用 ShowDialog() 来显示表单。是的,在模式对话框上调用 Hide() 将关闭它。因此,模态对话框通常会禁用应用程序中的所有窗口。如果您隐藏它,那么用户将无法返回程序,没有剩余的窗口可以激活。此表单在另一个线程上运行,否则不会影响行为。
您需要调用 Application.Run(new SomeForm()) 来避免这种情况。现在它不是模态的,你可以毫不费力地隐藏它。但实际上,请避免在非 UI 线程上显示表单。没有理由,你的主线程已经很能干了。