2009-07-27 70 views
14

我的My.Resources中有一組圖像。我想選擇要在運行時動態顯示的圖像。我該怎麼做呢?VB.Net:從My.Resources動態選擇圖像

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

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

回答

28

找到了解決辦法:

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

哦,他們可以在兩種情況下做出相同的代碼工作!我的意思是,.NET充滿了諸如「不要說它是form1」之類的東西,把它稱爲「我」。他們可以簡單地進行自動更正,甚至更好,以相同的方式編譯代碼。/rant – 2009-12-10 11:16:42

+0

P.S .:這對我不起作用(VB 2008) – 2009-12-10 11:20:06

4

確保您不包括擴展名的資源,也不路徑。它只是資源文件名。

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

這在運行時的工作對我來說:

UltraPictureBox1.Image = My.Resources.MyPicture 

牽涉任何字符串,如果我更改名稱會自動通過重構更新。

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