不鸡汤上干货
本篇博客内容:讲解如何自定义对话框,并且介绍如何使用(纯手敲,会有点小错,自己改下吧),本功能也可以适用于不同的窗体之间传递参数
可解决问题:系统默认对话框的单调问题,f翻译问题(如果在中文系统下使用英文软件对话框为中文模式,除非设置语言包为中文)
第一步:创建窗体
创建MesDiag窗体,并添加两个按钮
设置FormBorderStyle属性为FixedDialog,添加两个按钮,一个Label lbl显示信息,分别命名为btnOK/btnNG
btnOK的Click动作下添加:this.DialogResult = DialogResult.OK;this.Close();
btnNG的Click动作下添加:this.DialogResult = DialogResult.NO;this.Close();
窗体构造函数编辑如下:
public MesDiag(IWin32Window win,string MesInfor,string title,string MsgButtonsType/*这个是按钮类型参数,比如只有OK/NO,或者再加一个Cancel按钮,这里可以使用枚举或者集合处理*/ )
{
this.Text=title;
lbl.Text=MesInfor;
}
其他风格可以自己设计,比如字体/图标等信息
第二步:编写调用函数
public static DialogResult MesShowCheck(string MesInfor)
{
MesDiag md=new MesDiag(null,MesInfor,"Hint",“OKNO”)//这里也可以传递图标信息只要在窗体构造函数中添加一个参数就可可以了
DialogResult dr=md.ShowDialog();
md.Dispose();
return dr;
}
第三步 调用
DialogResult dr=MesShowCheck("你想要的提示信息");
if(dr==DialogResult.Yes)
{
//做Yes要做的动作
}
else if (dr==DialogResult.No)
{
//做No要做的动作
}