| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
-
- using System.Windows.Forms;
- using Dongke.IBOSS.PRD.Basics.BaseResources;
- namespace Dongke.IBOSS.PRD.Basics.BaseControls
- {
- /// <summary>
- /// 系统消息(N、I、W、E、Q)
- /// </summary>
- /// <example>
- /// {N|I|W|E|Q}[O|YN|YNC|OC|RC|ARI]_[1|2|3]_{模块名缩写}_{C|S}_{消息SEQ}
- /// {N|I|W|E|Q}:消息类型
- /// N:无(默认按钮OK)
- /// I:Information(默认按钮OK)
- /// W:Warning(默认按钮OK)
- /// E:Error(默认按钮OK)
- /// Q:Question(默认按钮Yes、No)
- /// [YN|YNC|OC|RC|ARI]:按钮模式(可以忽略)
- /// O :OK(默认按钮1)
- /// YN :Yes、No(默认按钮2)
- /// YNC:Yes、No、Cancel(默认按钮3)
- /// OC :OK、Cancel(默认按钮1)
- /// RC :Retry、Cancel(默认按钮1)
- /// ARI:Abort、Retry、Ignore(默认按钮2)
- /// [1|2|3]:默认按钮(可以忽略)
- /// {C|S}:分类
- /// C:客户端消息
- /// S:服务端消息
- /// 消息类型默认按钮:
- /// N:N_XXX=NO_XXX=N_1_XXX=NO_1_XXX
- /// I:I_XXX=IO_XXX=I_1_XXX=IO_1_XXX
- /// W:W_XXX=WO_XXX=W_1_XXX=WO_1_XXX
- /// E:E_XXX=EO_XXX=E_1_XXX=EO_1_XXX
- /// Q:Q_XXX=QYN_XXX=Q_2_XXX=QYN_2_XXX
- /// </example>
- public enum DKMessageCode
- {
- #region Information Serivce
- /// <summary>
- /// 根据查询条件,没有查询到相应的数据。
- /// </summary>
- I_CMN_S_001,
- /// <summary>
- /// 操作完成
- /// </summary>
- I_CMN_S_002,
- #endregion Information Serivce
- #region Information Client
- #endregion Information Client
- #region Warning Serivce
- /// <summary>
- /// 服务器时间(账务日期异常)
- /// </summary>
- W_CMN_S_001,
- /// <summary>
- /// 验证失败,是否重新登录
- /// </summary>
- WYN_CMN_S_002,
- /// <summary>
- /// 在其他客户端登录,是否重新登录
- /// </summary>
- WYN_CMN_S_003,
- /// <summary>
- /// 不允许进行该操作。原因:{0}
- /// </summary>
- W_CMN_S_004,
- /// <summary>
- /// 数据已被修改
- /// </summary>
- W_CMN_S_005,
- /// <summary>
- /// 数据重复
- /// </summary>
- W_CMN_S_006,
- #endregion Warning Serivce
- #region Warning Client
- /// <summary>
- /// 没有选择任何数据。
- /// </summary>
- W_CMN_C_001,
- /// <summary>
- /// {0}不能大于账务日期({1})。
- /// </summary>
- W_CMN_C_002,
- /// <summary>
- /// {0}是必须输入项目,请输入{0}。
- /// </summary>
- W_CMN_C_003,
- /// <summary>
- /// 输入的{0}不能和{1}相同,请重新输入。
- /// </summary>
- W_CMN_C_004,
- /// <summary>
- /// 输入的条码({0})格式不正确,请重新输入。条码必须以10位数字结尾。
- /// </summary>
- W_CMN_C_005,
- /// <summary>
- /// 不允许进行该操作。原因:{0}
- /// </summary>
- W_CMN_C_006,
- #endregion Warning Client
- #region Error Serivce
- /// <summary>
- /// 系统服务端异常
- /// </summary>
- E_CMN_S_001,
- #endregion Error Serivce
- #region Error Client
- /// <summary>
- /// 系统客户端异常
- /// </summary>
- E_CMN_C_001,
- #endregion Error Client
- #region Question Serivce
- #endregion Question Serivce
- #region Question Client
- #endregion Question Client
- }
- /// <summary>
- /// 显示可包含文本、按钮和符号(通知并指示用户)的消息框
- /// </summary>
- public static class DKMessageBox
- {
- /// <summary>
- /// 显示具有指定文本、标题、按钮、图标、默认按钮和选项的消息框
- /// </summary>
- /// <param name="owner">窗体</param>
- /// <param name="messageCode">消息编码</param>
- /// <param name="args">其中包含零个或多个要设置格式的对象</param>
- /// <returns>消息结果</returns>
- public static DialogResult ShowDialog(Form owner, DKMessageCode messageCode, params string[] args)
- {
- string code = messageCode.ToString();
- MessageBoxIcon mIcon = MessageBoxIcon.None;
- MessageBoxButtons mButtons = MessageBoxButtons.OK;
- MessageBoxDefaultButton mDefaultButton = MessageBoxDefaultButton.Button1;
- DKMessageBox.SetStyle(code, ref mIcon, ref mButtons, ref mDefaultButton);
- string message = string.Format(Messages.ResourceManager.GetString(code), args);
- return MessageBox.Show(owner, message, owner.Text, mButtons, mIcon, mDefaultButton);
- }
- /// <summary>
- /// 显示具有指定文本、标题、按钮、图标、默认按钮和选项的消息框
- /// </summary>
- /// <param name="owner">窗体</param>
- /// <param name="detail">详细信息</param>
- /// <param name="messageCode">消息编码</param>
- /// <param name="args">其中包含零个或多个要设置格式的对象</param>
- /// <returns>消息结果</returns>
- public static DialogResult ShowDialog(Form owner, string detail, DKMessageCode messageCode, params string[] args)
- {
- string code = messageCode.ToString();
- MessageBoxIcon mIcon = MessageBoxIcon.None;
- MessageBoxButtons mButtons = MessageBoxButtons.OK;
- MessageBoxDefaultButton mDefaultButton = MessageBoxDefaultButton.Button1;
- DKMessageBox.SetStyle(code, ref mIcon, ref mButtons, ref mDefaultButton);
- string message = string.Format(Messages.ResourceManager.GetString(code), args)
- + System.Environment.NewLine
- + detail;
- return MessageBox.Show(owner, message, owner.Text, mButtons, mIcon, mDefaultButton);
- }
- /// <summary>
- /// 设置消息样式
- /// </summary>
- /// <param name="code">消息编码</param>
- /// <param name="mIcon">消息图标</param>
- /// <param name="mButtons">消息按钮</param>
- /// <param name="mDefaultButton">默认按钮</param>
- private static void SetStyle(string code,
- ref MessageBoxIcon mIcon,
- ref MessageBoxButtons mButtons,
- ref MessageBoxDefaultButton mDefaultButton)
- {
- string[] type = code.Split('_');
- char icon = type[0][0];
- switch (icon)
- {
- case 'I':
- mIcon = MessageBoxIcon.Information;
- break;
- case 'W':
- mIcon = MessageBoxIcon.Warning;
- break;
- case 'E':
- mIcon = MessageBoxIcon.Error;
- break;
- case 'Q':
- mIcon = MessageBoxIcon.Question;
- mButtons = MessageBoxButtons.YesNo;
- mDefaultButton = MessageBoxDefaultButton.Button2;
- break;
- default:
- break;
- }
- if (type[0].Length > 1)
- {
- string buttons = type[0].Substring(1);
- if ("YN" == buttons)
- {
- mButtons = MessageBoxButtons.YesNo;
- mDefaultButton = MessageBoxDefaultButton.Button2;
- }
- else if ("YNC" == buttons)
- {
- mButtons = MessageBoxButtons.YesNoCancel;
- mDefaultButton = MessageBoxDefaultButton.Button3;
- }
- else if ("OC" == buttons)
- {
- mButtons = MessageBoxButtons.OKCancel;
- mDefaultButton = MessageBoxDefaultButton.Button1;
- }
- else if ("RC" == buttons)
- {
- mButtons = MessageBoxButtons.RetryCancel;
- mDefaultButton = MessageBoxDefaultButton.Button1;
- }
- else if ("ARI" == buttons)
- {
- mButtons = MessageBoxButtons.AbortRetryIgnore;
- mDefaultButton = MessageBoxDefaultButton.Button2;
- }
- }
- if (type.Length > 1)
- {
- if ("1" == type[1])
- {
- mDefaultButton = MessageBoxDefaultButton.Button1;
- }
- else if ("2" == type[1])
- {
- mDefaultButton = MessageBoxDefaultButton.Button2;
- }
- else if ("3" == type[1])
- {
- mDefaultButton = MessageBoxDefaultButton.Button3;
- }
- }
- }
- }
- }
|