2013-04-04 104 views
1

/關閉我寫一個小工具,它應該看我的服務器我寫郵件時要出事了類似過高RAM的使用等等C#程序崩潰的最小化到系統托盤

現在

我的問題,我想盡量減少我的程序到系統托盤,它工作正常:)我看到幾秒鐘托盤中的圖標。之後,我的程序不見了......關閉......不知道進程已離開:D。

這裏我的代碼,以最小化到托盤:

InitializeComponent(); 
var icon = new NotifyIcon(); 
icon.Icon = new Icon("watchdog.ico"); 
icon.Visible = true; 
icon.DoubleClick += 
     delegate(object sender, EventArgs args) 
     { 
      this.Show(); 
      this.WindowState = WindowState.Normal; 
     }; 

protected override void OnStateChanged(EventArgs e) 
     { 
      if (WindowState == WindowState.Minimized) 
       this.Hide(); 

      base.OnStateChanged(e); 
     } 

我希望你能幫助我。

+2

如果沒有實際的異常,這是很難說這是怎麼回事。你應該附加一個調試器並打破異常。 – 2013-04-04 12:57:56

+2

好的,您是否嘗試過調試並獲得某種異常?如果你不能這樣做,請實施某種記錄工具。有一個堆棧跟蹤和一條錯誤消息將有助於解決這個問題。 – tnw 2013-04-04 12:57:57

+1

您應該對事件查看器中發生的事情有所瞭解。 – Aybe 2013-04-04 12:59:01

回答

0

在Server 2012上,我最小化到托盤時也遇到了異常,但它在Windows 7 Pro計算機上工作正常。我能後遠程調試的問題是很清楚的:

拋出異常:「System.ArgumentException」在 System.Windows.Forms.dll中

其他信息:氣球提示文本必須有一個非 - 空值。

解決方法是氣球提示文本添加到圖標:

var icon = new NotifyIcon(); 
icon.BalloonTipText = "Program is minimized. Click the tray icon to restore it."; 
相關問題