前言
分享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;
}
{
//功能实现块代码
}
}
三、点击公司Log图像,显示软件功能、版本、创建时间等信息
private void Log_pictureBox_Click(object sender, EventArgs e)
{
string msg = "感谢您选用本产品!"
+ "\r\n"
+ ("\r\n" + "如果您有更好的建议或其他需求,请联系我们。")
+ "\r\n"
+ ("\r\n" + "软件名称:abc软件")
+ "\r\n"
+ ("\r\n" + "版权所有: abc有限公司")
+ "\r\n"
+ ("\r\n" + "版本:" + "V1.0.0_20201223");
MessageBox.Show(msg, @"软件信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
实现结果如下: