切换资源的switch语句可以更通用吗?

问题描述 投票:0回答:1

我正在使用具有选择语言的按钮的信息亭应用程序。

此后的按钮上有一张语言标记的图片及其名称。现在,我正在使用switch语句来设置图像,但是我希望它具有更通用的名称,因此在添加语言时,我不必在任何地方更改代码。我正在从我的应用程序资源中获取图像,我希望保持这种状态。

我能想到的唯一方法是从文件中检索图像,并根据它们所使用的语言字符串来命名它们。语言字符串的格式为“ en-US”。在调用该函数之前,还要在函数中声明语言字符串。

private void SetLanguageButton()
        {
            switch (language)
            {
                case "en-US":
                    buttonLanguage.Image = Properties.Resources.en_US;
                    break;

                case "hu-HU":
                    buttonLanguage.Image = Properties.Resources.hu_HU;
                    break;

                case "sk-SK":
                    buttonLanguage.Image = Properties.Resources.sk_SK;
                    break;
            }
            buttonLanguage.Text = resourceManager.GetString("languageName", cultureInfo);
        }
c# switch-statement resources
1个回答
0
投票

如果您具有文化化的资源,则可以按以下方式获取数据

buttonLanguage.Image = 
    (Icon)Properties.Resources.ResourceManager.GetObject("langicon", cultureInfo);
buttonLanguage.Text = 
    Properties.Resources.ResourceManager.GetString("langname", cultureInfo);
© www.soinside.com 2019 - 2024. All rights reserved.