我的My.Resources中有一组图像。我想选择要在运行时动态显示的选择图像。我该怎么做?
'Static (Compile time) Assignment
UltraPictureBox1.Image = my.Resources.zoo_picture_1
'Dynamic (Runtime) Assignment
UltraPictureBox1.Image = ???
答案 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