2016-05-23 88 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

相關問題