一般的開發的應用運行時,是直接的程序頁面打開,想要達到微信那樣的效果,還是有些東西要注意的,最近看了一些零零散散的解決方法,我就整合了一下。

鼠標單擊打開微信界面,右擊微信圖標會有如下圖的快捷功能操作

********************************************
1.讓右下角狀態欄上顯示我們的程序的小圖標
①在工具箱里面找到這個控件NotifyIcon,拖進應用程序

②設置我們需要的屬性,要在右下角狀態欄顯示的圖標

③現在可以點擊運行了,可以看到右下角有你剛剛添加進程序的icon圖標,這個只是到了可以看的階段還有....我們需要能點擊圖標打開還有右擊快捷操作。
給剛剛拖進來的NotifyIcon控件添加一個MouseDoubleClick事件讓它在最小化的時候能點擊小圖標后顯示程序

代碼如下:
/// <summary> /// 狀態欄小圖標的鼠標點擊事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void nIcon_Click(object sender, MouseEventArgs e) { try { if (this.WindowState == FormWindowState.Minimized)//當程序是最小化的狀態時顯示程序頁面 { this.WindowState = FormWindowState.Normal; } this.Activate(); this.Visible = true; this.ShowInTaskbar = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
④開始添加右下角狀態欄小圖標的右擊操作了
找到ContextMenuStrip控件,拖進應用程序

設置它的一些屬性,雙擊打開集合,添加右擊菜單的兩個子項,並設置子項的Name和Text的,按照你的實際需求來。編寫右擊菜單子項的事件,我就寫了一個退出事件

/// <summary> /// 右擊狀態欄小圖標的退出事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void smi_exit_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("你確定要關閉嗎!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (result == DialogResult.OK) { // 關閉所有的線程 this.Dispose(); this.Close(); } }
接着就是把這個ContextMenuStrip控件綁定到右下角的我的程序小圖標(NotifyIcon控件)上面,綁定完就可以使用啦。

⑤目前點擊程序的右上角的關閉時,就是直接退出程序了,把它變成點擊右上角的叉叉縮進右下角的狀態欄,不直接退出,再次點擊右下角狀態欄的小圖標的時候,就打開程序。
找到窗體的這個屬性添加事件並寫入代碼

代碼如下:
/// <summary> /// 程序右上角叉叉關閉時的事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_FormClosing(object sender, FormClosingEventArgs e) { try { e.Cancel = true; this.Visible = false; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
********************************************************
擴展:C#監聽鍵盤的按下操作 -----要設置窗體的KeyPreview屬性,並且添加KeyDown事件
/// <summary> /// 鍵盤按Esc,隱藏程序 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 27) { //窗體隱藏 this.Hide(); } }
博終,okk。
2019-12-06
