• 大小: 97KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C#
  • 标签: C#多语言  Winform  

资源简介

在Winform中,使用resx文件实现多语言切换(简体中文,繁体中文,英文),可以同时切换所有打开的窗口的语言

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace MultiLanguageResx
{
    public partial class LoginForm : Form
    {
        public LoginForm()
        {
            InitializeComponent();
        }

        private void LoginForm_Load(object sender EventArgs e)
        {
            //设置combobox的值
            string language = Properties.Settings.Default.DefaultLanguage;
            if (language == “zh-CN“)
            {
                languageTxt.Text = “简体中文(默认)“;
            }
            else if (language == “zh-CHT“)
            {
                languageTxt.Text = “繁體中文“;
            }
            else if (language == “en-US“)
            {
                languageTxt.Text = “English“;
            }
        }

        //切换语言
        private void languageTxt_SelectedIndexChanged(object sender EventArgs e)
        {
            languageTxt.Enabled = false;
            if (languageTxt.Text == “简体中文(默认)“)
            {
                //修改默认语言
                MultiLanguage.SetDefaultLanguage(“zh-CN“);
                //对所有打开的窗口重新加载语言
                foreach (Form form in Application.OpenForms)
                {
                    LoadAll(form);
                }
            }
            else if (languageTxt.Text == “繁體中文“)
            {
                //修改默认语言
                MultiLanguage.SetDefaultLanguage(“zh-CHT“);
                //对所有打开的窗口重新加载语言
                foreach (Form form in Application.OpenForms)
                {
                    LoadAll(form);
                }
            }
            else if (languageTxt.Text == “English“)
            {
                //修改默认语言
                MultiLanguage.SetDefaultLanguage(“en-US“);
                //对所有打开的窗口重新加载语言
                foreach (Form form in Application.OpenForms)
                {
                    LoadAll(form);
                }
            }
            languageTxt.Enabled = true;
        }

        private void LoadAll(Form form)
        {
            if (form.Name == “LoginForm“)
            {
                MultiLanguage.LoadLanguage(form typeof(LoginForm));
            }
            else if (form.Name == “PasswordForm“)
            {
                MultiLanguage.LoadLanguage(form typeof(PasswordForm));
            }
        }

        private void passwordBtn_Click(object sender EventArgs e)
        {
            PasswordForm pwdform = new PasswordForm();
            pwdform.Show();
        }

        private void loginBtn_Click(object sender EventArgs e)
        {
            System.Diagnostics.Process.Start(“http://blog.csdn.net/softimite_zifeng“);
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-01-07 14:38  MultiLanguageResx\
     目录           0  2017-01-07 19:03  MultiLanguageResx\MultiLanguageResx\
     文件         953  2017-01-07 17:16  MultiLanguageResx\MultiLanguageResx\App.config
     文件        7182  2017-01-07 18:28  MultiLanguageResx\MultiLanguageResx\LoginForm.Designer.cs
     文件        3062  2017-01-07 18:28  MultiLanguageResx\MultiLanguageResx\LoginForm.cs
     文件        6372  2017-01-07 16:31  MultiLanguageResx\MultiLanguageResx\LoginForm.en-US.resx
     文件        5817  2017-01-07 18:28  MultiLanguageResx\MultiLanguageResx\LoginForm.resx
     文件        6371  2017-01-07 16:31  MultiLanguageResx\MultiLanguageResx\LoginForm.zh-CHT.resx
     文件        6371  2017-01-07 16:32  MultiLanguageResx\MultiLanguageResx\LoginForm.zh-CN.resx
     文件        3183  2017-01-07 19:03  MultiLanguageResx\MultiLanguageResx\MultiLanguage.cs
     文件        5023  2017-01-07 16:45  MultiLanguageResx\MultiLanguageResx\MultiLanguageResx.csproj
     文件        5500  2017-01-07 17:07  MultiLanguageResx\MultiLanguageResx\PasswordForm.Designer.cs
     文件         779  2017-01-07 17:17  MultiLanguageResx\MultiLanguageResx\PasswordForm.cs
     文件        6298  2017-01-07 16:35  MultiLanguageResx\MultiLanguageResx\PasswordForm.en-US.resx
     文件        5817  2017-01-07 17:07  MultiLanguageResx\MultiLanguageResx\PasswordForm.resx
     文件        6288  2017-01-07 16:35  MultiLanguageResx\MultiLanguageResx\PasswordForm.zh-CHT.resx
     文件        6288  2017-01-07 16:35  MultiLanguageResx\MultiLanguageResx\PasswordForm.zh-CN.resx
     文件         533  2017-01-07 14:39  MultiLanguageResx\MultiLanguageResx\Program.cs
     目录           0  2017-01-07 17:16  MultiLanguageResx\MultiLanguageResx\Properties\
     文件        1358  2017-01-07 14:38  MultiLanguageResx\MultiLanguageResx\Properties\AssemblyInfo.cs
     文件        2886  2017-01-07 14:38  MultiLanguageResx\MultiLanguageResx\Properties\Resources.Designer.cs
     文件        5612  2017-01-07 14:38  MultiLanguageResx\MultiLanguageResx\Properties\Resources.resx
     文件        1574  2017-01-07 17:16  MultiLanguageResx\MultiLanguageResx\Properties\Settings.Designer.cs
     文件         434  2017-01-07 17:16  MultiLanguageResx\MultiLanguageResx\Properties\Settings.settings
     目录           0  2017-01-07 14:39  MultiLanguageResx\MultiLanguageResx\bin\
     目录           0  2017-01-07 17:24  MultiLanguageResx\MultiLanguageResx\bin\Debug\
     文件       14848  2017-01-07 19:03  MultiLanguageResx\MultiLanguageResx\bin\Debug\MultiLanguageResx.exe
     文件         953  2017-01-07 17:16  MultiLanguageResx\MultiLanguageResx\bin\Debug\MultiLanguageResx.exe.config
     文件       38400  2017-01-07 19:03  MultiLanguageResx\MultiLanguageResx\bin\Debug\MultiLanguageResx.pdb
     文件       23168  2017-01-07 19:03  MultiLanguageResx\MultiLanguageResx\bin\Debug\MultiLanguageResx.vshost.exe
     文件         953  2017-01-07 17:16  MultiLanguageResx\MultiLanguageResx\bin\Debug\MultiLanguageResx.vshost.exe.config
............此处省略38个文件信息

评论

共有 条评论