using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.Windows.Forms; using System.Configuration; using DBFactory;//20130510 namespace CommonClassLib { public class LocalisationHelper { public LocalisationHelper() { } public string Parse(string input) { string resultstr = string.Empty; ; try { if (input == null || input.Trim() == "") return String.Empty; input = input.Replace("${", ""); input = input.Replace("}", ""); if (DBFactory.DBOperator.MultiLanguageRes.TryGetValue(input, out resultstr) == false) { resultstr = input; } return resultstr; } catch { return input; } } #region ApplyResource public void ApplyResource(UserControl userControl) { userControl.Text = Parse(userControl.Text); foreach (Control control in userControl.Controls) { ApplyResource(control); } } public void ApplyResource(Form form) { form.Text = Parse(form.Text); foreach (Control control in form.Controls) { ApplyResource(control); } } public void ApplyResource(Control control) { control.Text = Parse(control.Text); if (control.Controls != null) { foreach (Control ctrl in control.Controls) { ApplyResource(ctrl); } } if (control.ContextMenuStrip != null) { ContextMenuStrip contextMenuStrip = control.ContextMenuStrip as ContextMenuStrip; ApplyResource(contextMenuStrip); } if (control is DataGridView) { DataGridView dataGridView = control as DataGridView; ApplyResource(dataGridView); } if (control is ToolStrip) { ToolStrip toolStrip = control as ToolStrip; ApplyResource(toolStrip); } if (control is ComboBox) { ComboBox cbb = control as ComboBox; ApplyResource(cbb); } } public void ApplyResource(DataGridView dataGridView) { foreach (DataGridViewColumn column in dataGridView.Columns) { column.HeaderText = Parse(column.HeaderText); } } public void ApplyResource(ToolStrip toolStrip) { foreach (System.Windows.Forms.ToolStripItem item in toolStrip.Items) { item.Text = Parse(item.Text); if (item is ToolStripDropDownItem) { ToolStripDropDownItem toolStripDropDownItem = item as ToolStripDropDownItem; ApplyResource(toolStripDropDownItem.DropDownItems); } } } public void ApplyResource(ContextMenuStrip contextMenuStrip) { ApplyResource(contextMenuStrip.Items); } public void ApplyResource(ToolStripItemCollection items) { foreach (System.Windows.Forms.ToolStripItem item in items) { item.Text = Parse(item.Text); if (item is ToolStripMenuItem) { ToolStripMenuItem toolStripMenuItem = item as ToolStripMenuItem; ApplyResource(toolStripMenuItem.DropDownItems); } } } public void ApplyResource(ComboBox cbb) { for (int i = 0; i < cbb.Items.Count; i++) { cbb.Items[i] = Parse(cbb.Items[i].ToString()); } } #endregion } /// /// Creator:Richard.liu /// public static class AppSettings { public static DBOperator dbo = new DBOperator();//20130510 public static DBOperator dbo1 = new DBOperator();//20130510 public static DBOperator dboM = new DBOperator("ManConnString", "ManDBFactory");//20130510 //add for CATL YB5 public static DBOperator dboM1 = new DBOperator("ManConnString", "ManDBFactory");//20130510 public static string GetConfig(string str) { string sResult = str; sResult = new AppSettingsReader().GetValue(str, typeof(string)).ToString().Trim(); return sResult; } public static string AppConfig() { return (Application.ExecutablePath.Substring(0,(Application.ExecutablePath.Length)) +".config"); } public static string GetValue(string appKey) { XmlDocument xDoc = new XmlDocument(); try { xDoc.Load(AppSettings.AppConfig()); XmlNode xNode; XmlElement xElem; xNode = xDoc.SelectSingleNode("//appSettings"); xElem = (XmlElement)xNode.SelectSingleNode("//add[@key='" + appKey + "']"); if (xElem != null) return xElem.GetAttribute("value"); else return ""; } catch (Exception) { return ""; } } public static void SetValue(string AppKey, string AppValue) { try { XmlDocument xDoc = new XmlDocument(); xDoc.Load(AppSettings.AppConfig()); XmlNode xNode; XmlElement xElem1; XmlElement xElem2; xNode = xDoc.SelectSingleNode("//appSettings"); xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']"); if (xElem1 != null) { xElem1.SetAttribute("value", AppValue); } else { xElem2 = xDoc.CreateElement("add"); xElem2.SetAttribute("key", AppKey); xElem2.SetAttribute("value", AppValue); xNode.AppendChild(xElem2); } xDoc.Save(AppSettings.AppConfig()); xDoc = null; } catch (Exception ex) { throw ex; } } } }