从字符串和Properties.Resources设置BackgroundImage

本文关键字:设置 BackgroundImage Resources Properties 字符串 | 更新日期: 2023-09-27 17:57:27

我有一个Windows窗体,带有一个名为ButtonSelectorButton控件。我有一个字符串变量colorBg,它当前存储值YellowProperties.Resources有一个图像文件的条目,该图像文件也称为黄色

如何使用变量colorBg中的值将ButtonSelector.BackgroundImage设置为MyApp.Properties.Resources.Yellow

我目前正在使用switch-case:

string colorBg = "Yellow";
switch (colorBg)
{
    case "Yellow":
        buttonSelector.BackgroundImage = MyApp.Properties.Resources.yellow;
        break;
    case "Blue":
        buttonSelector.BackgroundImage = MyApp.Properties.Resources.blue;
        break;
    case "Green":
        buttonSelector.BackgroundImage = MyApp.Properties.Resources.green;
        break;
}

谢谢。

从字符串和Properties.Resources设置BackgroundImage

rbhatup,

ButtonSelector.BackgroundImage=MyApp.Properties.Resources.GetObject(colorbg);

如果所有的恒星都对齐,这将起作用。明星是:

  1. colorbg包含一个实际存在于您的资源中的值
  2. 该资源项是可以渲染的图像

在生产中,我会尝试绕过这一点,并对colorbg等的值进行更稳健的测试。

我最终使用了这样的东西:

ResourceManager rm = Properties.Resources.ResourceManager;
Bitmap myImage = (Bitmap)rm.GetObject(color);
buttonSelector.BackgroundImage = myImage;