using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using ICSharpCode.Core; using Mesnac.Core; using Mesnac.Gui.Run.Global; namespace Mesnac.Gui.Run.Dialog { public partial class FrmRunConfigMenuItem : Form { private int _type = 0; //操作类型,0为添加,1为修改 private string _parentText = String.Empty; //父级节点名称 private string caption = StringParser.Parse(ResourceService.GetString("Mesnac_Dialog_Caption")); //提示 public FrmRunConfigMenuItem() { InitializeComponent(); InitUIMethod(); } public FrmRunConfigMenuItem(int type, string parentText, string nodeText) { InitializeComponent(); this._type = type; this._parentText = parentText; this.txtNodeText.Text = nodeText; InitUIMethod(); } public FrmRunConfigMenuItem(int type, string parentText, string nodeText , string shortCut) { InitializeComponent(); this._type = type; this._parentText = parentText; this.txtNodeText.Text = nodeText; this.txtShortCut.Text = shortCut; InitUIMethod(); } public FrmRunConfigMenuItem(int type, string parentText, string nodeText, string shortCut, Mesnac.Basic.FormShowType showType) { InitializeComponent(); this._type = type; this._parentText = parentText; this.txtNodeText.Text = nodeText; this.txtShortCut.Text = shortCut; this.cbShowType.SelectedIndex = (int)showType - 1; InitUIMethod(); } public FrmRunConfigMenuItem(int type, string parentText, string nodeText, string shortCut, Mesnac.Basic.FormShowType showType, string formFile, bool isAutoLoad) { InitializeComponent(); this._type = type; this._parentText = parentText; this.txtNodeText.Text = nodeText; this.txtShortCut.Text = shortCut; this.cbShowType.SelectedIndex = (int)showType - 1; this.cbIsAutoLoad.Checked = isAutoLoad; if (String.IsNullOrEmpty(formFile)) { this.cbIsAutoLoad.Enabled = false; } InitUIMethod(); } public FrmRunConfigMenuItem(int type, string parentText, string msgId, string nodeText, string shortCut, Mesnac.Basic.FormShowType showType, string formFile, bool isAutoLoad) { InitializeComponent(); this._type = type; this._parentText = parentText; this.txtNodeText.Text = nodeText; this.txtShortCut.Text = shortCut; this.cbShowType.SelectedIndex = (int)showType - 1; this.cbIsAutoLoad.Checked = isAutoLoad; if (String.IsNullOrEmpty(formFile)) { this.cbIsAutoLoad.Enabled = false; } InitUIMethod(); msgId = msgId == null ? String.Empty : msgId; if (this.cbMessages.Items.Contains(msgId)) { this.cbMessages.SelectedItem = msgId; } } /// /// 初始化UI元素 /// private void InitUIMethod() { if (this._type == 0) { this.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_Text_Add")); //"添加"; } else { this.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_Text_Modify")); //"修改"; } this.btnOK.Text = StringParser.Parse(ResourceService.GetString("Dialog_Button_OK")); //确定 this.btnCancel.Text = StringParser.Parse(ResourceService.GetString("Dialog_Button_Cancel")); //取消 this.label1.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_label1_Text")); //打开方式 this.label2.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_label2_Text")); //文本 this.label3.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_label3_Text")); //图标 this.label4.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_label4_Text")); //父级 this.label5.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_label5_Text")); //快捷键 this.label6.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_label6_Text")); //示例:Control|O this.label7.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_label7_Text")); //国际化 string parentText = StringParser.Parse(ResourceService.GetString("ViewContent_FrmSysConfig_Msg_parentText")); //顶级 this.lblParent.Text = String.IsNullOrEmpty(this._parentText) ? parentText : this._parentText; this.cbShowType.SelectedIndex = this.cbShowType.SelectedIndex == -1 ? 0 : this.cbShowType.SelectedIndex; this.cbIsAutoLoad.Text = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_cbIsAutoLoad_Text")); //自动加载 this.RefreshMessages(); } private void RefreshMessages() { this.cbMessages.Items.Clear(); foreach (string msgId in AppConfigHandler.Instance.SysMessages.Messages.Keys) { this.cbMessages.Items.Add(msgId); } } private void btnOK_Click(object sender, EventArgs e) { if (String.IsNullOrEmpty(this.txtNodeText.Text)) { string msg1 = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_Msg_btnOK1")); //请输入文本! MessageBox.Show(msg1, this.caption, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (!String.IsNullOrEmpty(this.txtShortCut.Text)) { Keys keyValue = Mesnac.Core.MenuCommand.ParseShortcut(this.txtShortCut.Text); if (keyValue == Keys.None) { string msg2 = StringParser.Parse(ResourceService.GetString("Dialog_FrmRunConfigMenuItem_Msg_btnOK2")); //快捷键设置不合法,请修正! MessageBox.Show(msg2, this.caption, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } this.DialogResult = System.Windows.Forms.DialogResult.OK; } #region 属性定义 /// /// 国际化资源ID /// public string MsgId { get { string msgId = this.cbMessages.SelectedItem as string; if (String.IsNullOrEmpty(msgId)) { return String.Empty; } else { return msgId; } } } /// /// 节点文本 /// public string NodeText { get { return this.txtNodeText.Text; } } /// /// 图标文件 /// public string NodeImg { get { return this.txtImg.Text; } } /// /// 快捷键 /// public string ShortCut { get { return this.txtShortCut.Text; } } /// /// 显示方式 /// public int ShowType { get { return this.cbShowType.SelectedIndex + 1; } } public bool IsAutoLoad { get { return this.cbIsAutoLoad.Checked; } } #endregion private void btnCancel_Click(object sender, EventArgs e) { this.DialogResult = System.Windows.Forms.DialogResult.Cancel; } private void btnDialog_Click(object sender, EventArgs e) { OpenFileDialog ofDialog = new OpenFileDialog(); ofDialog.Filter = "(*.png)|*.png|(*.jpg)|*.jpg|(*.jpeg)|*.jpeg|(*.bmp)|*.bmp"; DialogResult result = ofDialog.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) { this.txtImg.Text = ofDialog.FileName; } } #region 打开国际化资源筛选对话框 private void btnSelectMessage_Click(object sender, EventArgs e) { FrmSelectMessage frmSelectMessage = new FrmSelectMessage(); frmSelectMessage.ShowDialog(this); if (frmSelectMessage.DialogResult == System.Windows.Forms.DialogResult.OK) { if (!String.IsNullOrEmpty(frmSelectMessage.CurrMsgId)) { this.cbMessages.SelectedItem = frmSelectMessage.CurrMsgId; } } } #endregion } }