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

Jef*_*eff 17 .net vb.net controls image my.resources

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

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

'Dynamic (Runtime) Assignment
UltraPictureBox1.Image = ???
Run Code Online (Sandbox Code Playgroud)

Jef*_*eff 35

找到解决方案:

UltraPictureBox1.Image = _
    My.Resources.ResourceManager.GetObject(object_name_as_string)
Run Code Online (Sandbox Code Playgroud)

  • 哦,他们可以在两种情况下都使相同的代码工作!我的意思是,.NET充满了"不要说它"的形式1",称之为"我"而不是".他们可以简单地进行自动校正甚至更好,以相同的方式编译代码./咆哮 (2认同)

小智 6

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

PictureBoxName.Image = My.Resources.ResourceManager.GetObject("object_name") 
Run Code Online (Sandbox Code Playgroud)


And*_*eli 6

这在运行时也适用于我:

UltraPictureBox1.Image = My.Resources.MyPicture
Run Code Online (Sandbox Code Playgroud)

不涉及任何字符串,如果我更改名称,它将通过重构自动更新.