2010年7月5日 星期一

使用NotifyIcon後隱藏Form的方法

引用來源
程式如下:
-----------------------------------------------------------
#region field

private bool IsHide = true; // true, activated 時候要隱藏
private bool IsClose = false; // true, 確定關閉程式
#endregion
#region page event handler

private void Form1_Activated(object sender, System.EventArgs e) {
if (this.IsHide) { // 只有程式開始的時候隱藏
this.IsHide = false; // 下次就不用隱藏了
notifyIcon1.Visible = true;
this.Hide();
}
}

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
// 按了 X 也別關閉程式
if (!this.IsClose) { // 確定要關閉嗎?
e.Cancel = true;
this.Hide(); // 不,只要隱藏就好了
}
}

private void Form1_SizeChanged(object sender, System.EventArgs e) {
if (this.WindowState == FormWindowState.Minimized) {
this.Hide(); // Minimized 就隱藏起來
}
}
#endregion
#region control event handler

private void button1_Click(object sender, System.EventArgs e) {
this.IsClose = true; // 只有按這個 button 才真的關閉程式
this.Close();
}

/// 這是 contextMenu 要 show Form 的方法
private void menuItem1_Click(object sender, System.EventArgs e) {
this.Show();
this.WindowState = FormWindowState.Normal;
this.BringToFront();
}
#endregion

----------------------------
以上,但請在 form_load 補上:
this.WindowState == FormWindowState.Minimized
這樣啟動時,就自動縮起來了;不會有form

沒有留言:

張貼留言