VB.Net:从My.Resources动态选择图像

时间:2009-07-27 21:26:12

标签: .net vb.net image controls my.resources

我的My.Resources中有一组图像。我想选择要在运行时动态显示的选择图像。我该怎么做?

'Static (Compile time) Assignment
UltraPictureBox1.Image = my.Resources.zoo_picture_1

'Dynamic (Runtime) Assignment
UltraPictureBox1.Image = ???

5 个答案:

答案 0 :(得分:34)

找到解决方案:

UltraPictureBox1.Image = _
    My.Resources.ResourceManager.GetObject(object_name_as_string)

答案 1 :(得分:6)

这在运行时也适用于我:

UltraPictureBox1.Image = My.Resources.MyPicture

不涉及任何字符串,如果我更改名称,则会通过重构自动更新。

答案 2 :(得分:4)

确保您不包含资源的扩展名,也不包含其路径。它只是资源文件名。

PictureBoxName.Image = My.Resources.ResourceManager.GetObject("object_name") 

答案 3 :(得分:2)

Dim resources As Object = My.Resources.ResourceManager
PictureBoxName.Image = resources.GetObject("Company_Logo")

答案 4 :(得分:1)

有时您必须更改名称(或检查以从编译器自动获取它)。

示例:

文件名= amp2-rot.png

它不能用作:

PictureBoxName.Image = resources.GetObject("amp2-rot.png")

它对我来说就像amp2_rot一样起作用:

 PictureBox_L1.Image = My.Resources.Resource.amp2_rot