C# WinForm程式設計的一些小技巧
阿新 • • 發佈:2020-12-28
文章目錄
前言
分享C#窗體程式設計的一些小技巧,日常更新,歡迎分享一些新的實用技巧。
一、快捷鍵ESC退出當前窗體或應用程式
在窗體介面設定引數之後,按esc快捷退出設定介面,可以採用如下方式進行操作:
- 設定窗體屬性KeyPreview=True。
- 設定Form的KeyUp事件:
private void SettingForm_KeyUp(object sender, KeyEventArgs e)
{
//退出當前視窗
if (e.KeyData == Keys.Escape) this.Close();
//退出當前應用程式
//if (e.KeyData == Keys.Escape) Application.Close();
}
keypreview屬性值為:
True:窗體先接收鍵盤事件,然後是活動控制元件接收事件
False:預設值,活動控制元件接收鍵盤事件,而窗體不接收
二、退出應用程式或者點選某個按鈕時,進行提示框確認操作
點選退出應用程式的按鈕後,進行確認是否退出,程式碼如下:
private void Exit_button_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("確定退出當前應用程式嗎?", "退出", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (result == DialogResult.Yes)//確認是否進行退出
{
KillProcess();//退出應用程式生成的所有執行緒
Application.Exit();//退出當前應用程式
}
}
private void KillProcess()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName(current.ProcessName);
foreach (Process process in processes)
{
process.CloseMainWindow();
process.Kill();
}
}
點選某個功能按鈕後,進行確認是否進行功能操作,程式碼如下:
private void Operation_button_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("是否進行功能操作", "功能操作", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (result == DialogResult.No)//選擇否,則不進行功能塊程式碼的操作,直接return
{
return;
}
{
//功能實現塊程式碼
}
}