在多语言软件中有以下代码来改变软件文化:
string culture = ConfigurationManager.AppSettings["culture"].ToString();
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
文化密钥保存在app.config中,该文件包含ar-IQ等软件文化。
Windows窗体中有一个面板对象,我想根据用户文化为它设置背景图像。
对于文本资源没有问题,所有标签的文本都会根据用户文化而变化。但对于图像资源,我总是从一个资源中读取,这是一个问题,因为图像必须根据适当的资源文件中的用户文化进行读取。
例如,我的项目图像有两个以下资源文件:
所有图像都嵌入在此资源文件中。
这两个资源中的Login.png,我使用此代码更改面板对象的背景图像:
pnlLogin.BackgroundImage = Resources.Images.Login;
此代码始终从Images.resx读取Login.png图像,我想在用户文化更改为ar-IQ时从Images.resx读取Login.png图像。
答案 0 :(得分:0)
问题解决了。
Images.resx中的资源名称是登录,但在Images.ar.resx中是登录。
这是区分大小写的。
这两个名称更改为Login并且问题已解决