我的My.Resources中有一組圖像。我想選擇要在運行時動態顯示的圖像。我該怎麼做呢?VB.Net:從My.Resources動態選擇圖像
'Static (Compile time) Assignment
UltraPictureBox1.Image = my.Resources.zoo_picture_1
'Dynamic (Runtime) Assignment
UltraPictureBox1.Image = ???
我的My.Resources中有一組圖像。我想選擇要在運行時動態顯示的圖像。我該怎麼做呢?VB.Net:從My.Resources動態選擇圖像
'Static (Compile time) Assignment
UltraPictureBox1.Image = my.Resources.zoo_picture_1
'Dynamic (Runtime) Assignment
UltraPictureBox1.Image = ???
找到了解決辦法:
UltraPictureBox1.Image = _
My.Resources.ResourceManager.GetObject(object_name_as_string)
確保您不包括擴展名的資源,也不路徑。它只是資源文件名。
PictureBoxName.Image = My.Resources.ResourceManager.GetObject("object_name")
這在運行時的工作對我來說:
UltraPictureBox1.Image = My.Resources.MyPicture
牽涉任何字符串,如果我更改名稱會自動通過重構更新。
Dim resources As Object = My.Resources.ResourceManager
PictureBoxName.Image = resources.GetObject("Company_Logo")
哦,他們可以在兩種情況下做出相同的代碼工作!我的意思是,.NET充滿了諸如「不要說它是form1」之類的東西,把它稱爲「我」。他們可以簡單地進行自動更正,甚至更好,以相同的方式編譯代碼。/rant – 2009-12-10 11:16:42
P.S .:這對我不起作用(VB 2008) – 2009-12-10 11:20:06