【问题标题】:How to set PictureBox's Image dynamically?如何动态设置PictureBox的Image?
【发布时间】:2014-02-26 18:36:18
【问题描述】:

我正在尝试使用变量 iconName 从我的资源中选择和图像;但是我就是无法让它工作。

为了测试它是否出现,我将按钮文本更改为变量等于的值,这是正确的,但图像不会改变。

private void button_slctChamp_Click(object sender, EventArgs e)
    {
        // Set variable to equal string from a textbox + _Square_0
        String iconName = textBox_slctChamp.Text + "_Square_0";

        // Test to see if iconName = "string" + "_Square_0"
        button_slctChamp.Text = iconName;
        // Which it does

        // Change Image of picturebox based on iconName
        pictureBox_champIcon.Image = Properties.Resources.iconName;
        // Never changes.........

【问题讨论】:

标签: c# winforms variables textbox picturebox


【解决方案1】:

iconNameProperties.Resources.iconName 在这里是两个不同的值。此外,PictureBox.Image 属性的类型为 Image,而不是 String。因此,即使您确实将其设置在正确的变量上,它仍然无法正常工作。

如果您想从资源管理器获取图像,请改为执行以下操作:

pictureBox.Image = (Image)Properties.Resources.ResourceManager.GetObject(iconName);

【讨论】:

  • 所以在 Properties.Resources.iconName 它正在寻找和图像命名为 iconName 而不是变量 iconName?
  • 好的,所以我可以稍微理解一下(图片)在做什么,ResourceManager 是什么让我使用 .GetObject?
  • (Image) 是由 GetObject 方法返回的值的转换。如果您需要了解 ResourceManager 的工作原理,我建议您查看文档:msdn.microsoft.com/fr-fr/library/…
  • 好的,感谢您的帮助,我将通读文档以更好地理解它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-10
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多