My.Resourcesに画像のグループがあります。実行時に動的に表示する画像を選択したい。どうすればよいですか?
'Static (Compile time) Assignment
UltraPictureBox1.Image = my.Resources.zoo_picture_1
'Dynamic (Runtime) Assignment
UltraPictureBox1.Image = ???
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)
これは実行時にも機能します。
UltraPictureBox1.Image = My.Resources.MyPicture
文字列は含まれていません。名前を変更すると、リファクタリングによって自動的に更新されます。
リソースの拡張やリソースへのパスを含めないようにしてください。リソースファイル名のみです。
PictureBoxName.Image = My.Resources.ResourceManager.GetObject("object_name")
Dim resources As Object = My.Resources.ResourceManager
PictureBoxName.Image = resources.GetObject("Company_Logo")
場合によっては、名前を変更する必要があります(または、コンパイラから自動的に取得するかどうかを確認してください)。
例:
ファイル名=amp2-rot.png
それは次のように機能していません:
PictureBoxName.Image = resources.GetObject("amp2-rot.png")
それは私と同じようamp2_rotに機能します:
PictureBox_L1.Image = My.Resources.Resource.amp2_rot