我正在使用具有选择语言的按钮的信息亭应用程序。
此后的按钮上有一张语言标记的图片及其名称。现在,我正在使用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);
}
如果您具有文化化的资源,则可以按以下方式获取数据
buttonLanguage.Image =
(Icon)Properties.Resources.ResourceManager.GetObject("langicon", cultureInfo);
buttonLanguage.Text =
Properties.Resources.ResourceManager.GetString("langname", cultureInfo);