24

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

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

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

5 回答 5

43

找到了解决方案:

UltraPictureBox1.Image = _
    My.Resources.ResourceManager.GetObject(object_name_as_string)
于 2009-07-27T21:37:34.300 回答
11

这在运行时也适用于我:

UltraPictureBox1.Image = My.Resources.MyPicture

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

于 2012-03-31T14:19:43.090 回答
6

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

PictureBoxName.Image = My.Resources.ResourceManager.GetObject("object_name") 
于 2011-05-11T14:38:57.333 回答
2
Dim resources As Object = My.Resources.ResourceManager
PictureBoxName.Image = resources.GetObject("Company_Logo")
于 2013-12-18T10:30:28.680 回答
1

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

例子:

文件名 =amp2-rot.png

它不能作为:

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

它有效,就像amp2_rot我一样:

 PictureBox_L1.Image = My.Resources.Resource.amp2_rot
于 2020-04-30T11:14:46.380 回答