/// <summary> /// 如果设置为繁体,把窗体的所有字符转换为繁体 /// </summary> internal static void Big5Convert(System.Windows.Forms.Form frm) { if (frm == null) { return; } if (PSetUp.bIsBig5Encoding) { if (frm.Text.Length > 0) { frm.Text = StringOperate.ToTraditional(frm.Text); } if (frm.Controls.ContainsKey("lblNotEncoding")) { return;//说明此窗口禁止繁体编码 } Big5ConvertForm_Ref(frm.Controls); } }
/// <summary> /// 如果设置为繁体,把控件的所有字体转换为繁体,如果Tag为NoReEncoding就不转换,如果Tag为CanReEncoding就一定要转换,除此之外只转换Label等基本控件 /// </summary> internal static void Big5Convert(Control ctl) { if (!PSetUp.bIsBig5Encoding) { return; } string strTag = (ctl.Tag != null ? ctl.Tag.ToString() : ""); if (strTag == "NoReEncoding") { return; } //不要修改这些类型的控件,以免引起错误,除非有CanReEncoding if (strTag == "CanReEncoding") { if (ctl.GetType() == typeof(System.Windows.Forms.ComboBox)) { ComboBox cmb = (ComboBox)ctl; cmb.Text = StringOperate.ToTraditional(cmb.Text); for (int i = 0; i < cmb.Items.Count; i++) { cmb.Items[i] = StringOperate.ToTraditional(cmb.Items[i].ToString()); } return; } else if (ctl.GetType() == typeof(System.Windows.Forms.DataGridView)) { Big5Convert(ctl as DataGridView); return; } else if (ctl.GetType() == typeof(System.Windows.Forms.TreeView)) { Big5Convert((TreeView)ctl); return; } } if (ctl.GetType() == typeof(System.Windows.Forms.ContextMenuStrip)) { //继承关系 ContextMenuStrip : ToolStripDropDownMenu: ToolStripDropDown :ToolStrip ContextMenuStrip cmenu = (ContextMenuStrip)ctl; foreach (ToolStripItem item in cmenu.Items) { if (item.GetType() == typeof(ToolStripSeparator)) { continue; } if (item.Text.Length > 0) { item.Text = StringOperate.ToTraditional(item.Text); } foreach (ToolStripItem subitem in (item as ToolStripMenuItem).DropDownItems) { if (subitem.Text.Length > 0) { subitem.Text = StringOperate.ToTraditional(subitem.Text); } } } } else if (ctl.GetType() == typeof(System.Windows.Forms.MenuStrip)) { MenuStrip menu = (MenuStrip)ctl; foreach (ToolStripItem item in menu.Items) { if (item.GetType() == typeof(ToolStripSeparator)) { continue; } if (item.GetType() == typeof(ToolStripComboBox)) { continue; } if (item.Text.Length > 0) { item.Text = StringOperate.ToTraditional(item.Text); } foreach (ToolStripItem subitem in (item as ToolStripMenuItem).DropDownItems) { if (subitem.Text.Length > 0) { subitem.Text = StringOperate.ToTraditional(subitem.Text); } } } } else if (ctl.Text.Length > 0) { ctl.Text = StringOperate.ToTraditional(ctl.Text); } }