- 締切済み
リソースファイルの選択
VB2010で、以下のような書き方でリソースファイルの選択を行っているのですが、 リソースファイルを増やすたびにコードを書き足さなければならず非効率的です。 リソースが10個・20個と増えてくるとその分だけコードが長くなります。 ほかに方法はあるのでしょうか? なお、今はVB2010が入っていないパソコンから投稿しているので コードを思い出しながら書いています。 たぶん大丈夫だと思いますが、もしかしたらエラーが発生するかもしれません。 Private ResourceID As Integer (中略) Dim bmp As Bitmap Select Case ResourceID Case 1 : bmp = My.Resources.picture1 Case 2 : bmp = My.Resources.picture2 Case 3 : bmp = My.Resources.picture3 End Select Select Case ResourceID Case 1 : TextBox1.Text = My.Resources.text1 Case 2 : TextBox1.Text = My.Resources.text2 Case 3 : TextBox1.Text = My.Resources.text3 End Select
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Siegrune
- ベストアンサー率35% (316/895)
内容を見ていたらpicture、textそれぞれ、My.Resourcesに1個定義するだけでいいのでは? と思いました。 (やり方) My.Resources.pictures = "c:\test1.bmp,c:\test2.bmp,c:test3.bmp" のように定義しておいて、 dim wk() as string wk()= split(My.Resources.pictures,",") '※splitの文法忘れたのでマニュアルみてください。 bmp = wk(ResourceID) みたいにすれば実現できると思います。 但し、フォルダ名がやたら長いとかで文字数制限に引っかからないかどうかは、 My.Resourcesの1項目あたりに格納できる文字数を確認してください。 多分、stringの最大文字数と一緒だったとは思いますが。
お礼
回答ありがとうございます。 現在はVBが使えないパソコンから投稿しているため今すぐには試せませんが 成功したら解決と致します。
補足
リソースファイルから読み込んでいるようには見えないのですが……。 結局Cドライブにあるファイルから読み込んでいるのと一緒ではないでしょうか?