从资源获取背景图像

时间:2013-08-11 07:32:55

标签: c# embedded-resource

在多语言软件中有以下代码来改变软件文化:

string culture = ConfigurationManager.AppSettings["culture"].ToString();
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);

文化密钥保存在app.config中,该文件包含ar-IQ等软件文化。

Windows窗体中有一个面板对象,我想根据用户文化为它设置背景图像。

对于文本资源没有问题,所有标签的文本都会根据用户文化而变化。但对于图像资源,我总是从一个资源中读取,这是一个问题,因为图像必须根据适当​​的资源文件中的用户文化进行读取。

例如,我的项目图像有两个以下资源文件:

  1. Images.resx
  2. Images.ar.resx
  3. 所有图像都嵌入在此资源文件中。

    这两个资源中的Login.png,我使用此代码更改面板对象的背景图像:

    pnlLogin.BackgroundImage = Resources.Images.Login;
    

    此代码始终从Images.resx读取Login.png图像,我想在用户文化更改为ar-IQ时从Images.resx读取Login.png图像。

1 个答案:

答案 0 :(得分:0)

问题解决了。

Images.resx中的

资源名称是登录,但在Images.ar.resx中是登录。

这是区分大小写的。

这两个名称更改为Login并且问题已解决