2016-05-23 44 views
-1

即使应用程序/表单已关闭,是否可以在后台运行应用程序?我现在所能做的就是尽量减少它。即使应用程序已关闭,notifyIcon始终可见

private void Form2_Resize(object sender, EventArgs e) 
    { 

     if (WindowState == FormWindowState.Normal) 
     { 
      Hide(); 
      WindowState = FormWindowState.Minimized; 
     } 
     else if (FormWindowState.Normal == this.WindowState) 
     { 
      Show(); 

     } 
    } 

回答

0

如果您的应用程序(你的进程)关闭时,通知图标会消失。没有办法避免这种情况。

所以你可能想要的是让你的应用程序运行,即使用户关闭你的表单。实现此目的的一种方法是实际上而不是关闭窗体,但只是隐藏它。

为此,你需要订阅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())。

+0

我在哪里放这段代码:this.Closing + = Form1_Closing; – discable10

+0

@ discable10你可以将它添加到你的Form的构造函数中(就像我在我更新的答案中显示的那样),或者你可以在设计器中设置这个事件。 –

+0

不知何故,这部分不工作“Form1_Closing”。它突出显示。 – discable10

相关问题