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 に答える