• 大小: 103KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C#
  • 标签: c#  winform  本地化  

资源简介

c# winform 多语言切换 本地化

资源截图

代码片段和文件信息

using System;
using System.Windows.Forms;
using System.ComponentModel;
using System.Threading; /// 线程空间

namespace Liang.LanguageLibrary
{
    /// 
    /// 语言库 class
    /// 

    public class SetLanguage
    {
        /// 
        /// 设置当前程序的界面语言
        /// 

        /// 语言 
        /// 窗体
        /// 窗体类型
        public static void SetLang(string lang Form form Type frmtype)
        {
            Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(lang);
            if (form != null)
            {
                ComponentResourceManager resources = new ComponentResourceManager(frmtype);
                resources.ApplyResources(form “$this“);
                AppLang(form resources);
            }
        }
        #region AppLang for Control
        /// 
        /// 遍历窗体所有控件,针对其设置当前界面语言
        /// 

        /// 
        /// 
        private static void AppLang(Control control ComponentResourceManager resources)
        {
            if (control is MenuStrip)
            {
                //将资源应用与对应的属性
                resources.ApplyResources(control control.Name);
                MenuStrip ms = (MenuStrip)control;
                if (ms.Items.Count > 0)
                {
                    foreach (ToolStripMenuItem c in ms.Items)
                    {
                        //调用 遍历菜单 设置语言
                        AppLang(c resources);
                    }
                }
            }

            foreach (Control c in control.Controls)
            {
                resources.ApplyResources(c c.Name);
                AppLang(c resources);
            }
        }
        #endregion

        #region AppLang for menuitem
        /// 
        /// 遍历菜单
        /// 

        /// 
        /// 
        private static void AppLang(ToolStripMenuItem item System.ComponentModel.ComponentResourceManager resources)
        {
            if (item is ToolStripMenuItem)
            {
                resources.ApplyResources(item item.Name);
                ToolStripMenuItem tsmi = (ToolStripMenuItem)item;
                if (tsmi.DropDownItems.Count > 0)
                {
                    foreach (ToolStripMenuItem c in tsmi.DropDownItems)
                    {
                        //if (tsmi != ToolStripSeparator)
                        //{ }
                        AppLang(c resources);
                    }
                }
            }
        }
        #endregion
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .CA....      1407  2010-03-29 13:59  Liang.Language\LanageTextobject.sln

    .CA..H.     24064  2010-03-29 15:01  Liang.Language\LanageTextobject.suo

    .CA....      5632  2010-03-29 14:29  Liang.Language\LanguageLibrary\bin\Debug\Liang.LanguageLibrary.dll

    .CA....     13824  2010-03-29 14:29  Liang.Language\LanguageLibrary\bin\Debug\Liang.LanguageLibrary.pdb

    .CA....      2153  2010-03-29 13:59  Liang.Language\LanguageLibrary\LanguageLibrary.csproj

    .CA....       460  2010-03-29 14:01  Liang.Language\LanguageLibrary\obj\Debug\LanguageLibrary.csproj.FileListAbsolute.txt

    .CA....      5632  2010-03-29 14:29  Liang.Language\LanguageLibrary\obj\Debug\Liang.LanguageLibrary.dll

    .CA....     13824  2010-03-29 14:29  Liang.Language\LanguageLibrary\obj\Debug\Liang.LanguageLibrary.pdb

    .CA....      3584  2010-03-29 14:05  Liang.Language\LanguageLibrary\obj\Debug\Refactor\Liang.LanguageLibrary.dll

    .CA....      1362  2010-03-29 13:34  Liang.Language\LanguageLibrary\Properties\AssemblyInfo.cs

    .CA....      2964  2010-03-29 14:29  Liang.Language\LanguageLibrary\SetLanguage.cs

    .CA....     25962  2010-03-29 15:01  Liang.Language\RunExt.rar

    .CA....      1229  2010-03-29 14:39  Liang.Language\WinGUI\Loginfrm.cs

    .CA....      4897  2010-03-29 14:36  Liang.Language\WinGUI\Loginfrm.Designer.cs

    .CA....     14227  2010-03-29 14:24  Liang.Language\WinGUI\Loginfrm.en-US.resx

    .CA....     14490  2010-03-29 14:36  Liang.Language\WinGUI\Loginfrm.resx

    .CA....     14235  2010-03-29 14:25  Liang.Language\WinGUI\Loginfrm.zh-CHS.resx

    .CA....      1429  2010-03-29 14:31  Liang.Language\WinGUI\Mainfrm.cs

    .CA....      9174  2010-03-29 14:16  Liang.Language\WinGUI\Mainfrm.Designer.cs

    .CA....     16712  2010-03-29 14:26  Liang.Language\WinGUI\Mainfrm.en-US.resx

    .CA....     17010  2010-03-29 14:16  Liang.Language\WinGUI\Mainfrm.resx

    .CA....     16727  2010-03-29 14:27  Liang.Language\WinGUI\Mainfrm.zh-CHS.resx

    .CA....     32768  2010-03-29 14:39  Liang.Language\WinGUI\obj\Debug\en-US\Liang.WinGUI.resources.dll

    .CA....     31232  2010-03-29 14:39  Liang.Language\WinGUI\obj\Debug\Liang.WinGUI.exe

    .CA....      7862  2010-03-29 14:29  Liang.Language\WinGUI\obj\Debug\Liang.WinGUI.Loginfrm.en-US.resources

    .CA....      7920  2010-03-29 14:37  Liang.Language\WinGUI\obj\Debug\Liang.WinGUI.Loginfrm.resources

    .CA....      7870  2010-03-29 14:29  Liang.Language\WinGUI\obj\Debug\Liang.WinGUI.Loginfrm.zh-CHS.resources

    .CA....     11290  2010-03-29 14:29  Liang.Language\WinGUI\obj\Debug\Liang.WinGUI.Mainfrm.en-US.resources

    .CA....     10576  2010-03-29 14:29  Liang.Language\WinGUI\obj\Debug\Liang.WinGUI.Mainfrm.resources

    .CA....     11305  2010-03-29 14:29  Liang.Language\WinGUI\obj\Debug\Liang.WinGUI.Mainfrm.zh-CHS.resources

............此处省略36个文件信息

评论

共有 条评论