C# 托盤程序 實例 雙擊顯示窗體,最小化到托盤
單擊任務欄 顯示-隱藏切換,右鍵菜單,捕捉關閉窗體事件
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}#region 注銷 public void Logout() { if (MessageBox.Show("確認要退出嗎?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { notifyIcon1.Visible = false; FormCollection fc = Application.OpenForms; if (fc != null && fc.Count > 0) { foreach (Form window in fc) { window.Hide(); } } CacheHelper.CurrentUsrName = ""; CacheHelper.CurrentRoleId = 0; frmLogin fl = new frmLogin(); fl.Show(); } } private void 注銷登陸ToolStripMenuItem_Click(object sender, EventArgs e) { Logout(); } #endregion #region 修改密碼 private void 修改密碼ToolStripMenuItem_Click(object sender, EventArgs e) { frmChangePwd fcp = new frmChangePwd(); fcp.Show(); } #endregion private void frmMain_Load(object sender, EventArgs e) { } private void frmMain_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("確認要退出嗎?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { Logout(); } else { e.Cancel = true; } } private void 最大化ToolStripMenuItem_Click(object sender, EventArgs e) { ShowWin(); } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { Logout(); } private void frmMain_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { HideWin(); } } private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { contextMenuStrip1.Show(MousePosition.X, MousePosition.Y); } else { ShowWin(); } } #region 隱藏顯示窗體 /// <summary> /// 隱藏窗體 /// </summary> private void HideWin() { this.notifyIcon1.Visible = true; this.Hide(); } /// <summary> /// 顯示主窗體 /// </summary> private void ShowWin() { if (Visible) { HideWin(); } else { /////這里注意順序很重要,先show 后設置state Show(); WindowState = FormWindowState.Normal; } } #endregion } </pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!