我希望隐藏我的表单,同时保持我的应用程序在后台运行。 我使用过notifyIcon,它始终可见。
我用过“this.Hide();”隐藏我的表单但不幸的是我的应用程序接近(也不例外)。
我也在使用线程,这个表单在第二个线程上。
请告诉我如何解决。
答案 0 :(得分:1)
为表单调整大小添加以下事件处理程序并通知图标单击事件
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;
}
但这不是你的申请
答案 1 :(得分:1)
我也在使用线程,这个表单在第二个线程上。
我的水晶球说你已经使用ShowDialog()来显示表格。是的,在模态对话框上调用Hide()将关闭它。必然如此,模态对话框通常会禁用应用程序中的所有窗口。如果你隐藏它,那么用户无法返回程序,没有窗口可以激活。这个表单在另一个线程上运行,否则不会影响行为。
您需要调用Application.Run(new SomeForm())来避免这种情况。现在它不是模态的,你可以毫无困难地隐藏它。但实际上,做避免在非UI线程上显示表单。没有理由,你的主要线程已经非常强大。