コード例 #1
0
ファイル: StringOperate.cs プロジェクト: xiaoquanamm/shouzhu
        /// <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);
            }
        }
コード例 #2
0
ファイル: StringOperate.cs プロジェクト: xiaoquanamm/shouzhu
        /// <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);
            }
        }