即使应用程序已关闭,notifyIcon始终可见
问题描述:
即使应用程序/表单已关闭,是否可以在后台运行应用程序?我现在所能做的就是尽量减少它。即使应用程序已关闭,notifyIcon始终可见
private void Form2_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Normal)
{
Hide();
WindowState = FormWindowState.Minimized;
}
else if (FormWindowState.Normal == this.WindowState)
{
Show();
}
}
答
如果您的应用程序(你的进程)关闭时,通知图标会消失。没有办法避免这种情况。
所以你可能想要的是让你的应用程序运行,即使用户关闭你的表单。实现此目的的一种方法是实际上而不是关闭窗体,但只是隐藏它。
为此,你需要订阅Closing
事件的形式为:
public class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Closing += Form1_Closing;
}
}
和实施事件处理程序是这样的:
void Form1_Closing(object sender, FormClosingEventArgs e)
{
Hide();
e.Cancel = true;
}
通过设置e.Cancel = true
你告诉表单不到关。所以你只是隐藏它。
您需要向通知图标添加一些代码才能重新打开表单(Show()
)。
我在哪里放这段代码:this.Closing + = Form1_Closing; – discable10
@ discable10你可以将它添加到你的Form的构造函数中(就像我在我更新的答案中显示的那样),或者你可以在设计器中设置这个事件。 –
不知何故,这部分不工作“Form1_Closing”。它突出显示。 – discable10