tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル処理を短く・・
記事No7505
投稿日: 2008/05/13(Tue) 15:33
投稿者こすぎ
お世話になります。VB2005の処理について教えてください。

リソースの中に画像が1000枚あって、それを一覧表示させる処理を書いてみたんですが...

    Me.picItem00001.BackgroundImage = New Bitmap(My.Resources.image00001)
    Me.picItem00002.BackgroundImage = New Bitmap(My.Resources.image00002)
    Me.picItem00003.BackgroundImage = New Bitmap(My.Resources.image00003)
     :
     :(略)
     :
    Me.picItem00998.BackgroundImage = New Bitmap(My.Resources.image00998)
    Me.picItem01000.BackgroundImage = New Bitmap(My.Resources.image01000)

上記でも問題なく動作しますが、
For〜Loopなどを使って処理を短くする事が可能でしょうか?
お願いいたします。

[ツリー表示へ]
タイトルRe: 処理を短く・・
記事No7506
投稿日: 2008/05/13(Tue) 18:11
投稿者花ちゃん
> For〜Loopなどを使って処理を短くする事が可能でしょうか?
> お願いいたします。

For i As Integer = 1 To 1000
  Me.picItem00001.BackgroundImage = New Bitmap(My.Resources.image & CStr(i).PadLeft(5, "0"c))
Next i

では、どうでしょうか?

[ツリー表示へ]
タイトルRe^2: 処理を短く・・
記事No7520
投稿日: 2008/05/14(Wed) 10:07
投稿者癒耶
> > For〜Loopなどを使って処理を短くする事が可能でしょうか?
> > お願いいたします。
>
> For i As Integer = 1 To 1000
>   Me.picItem00001.BackgroundImage = New Bitmap(My.Resources.image & CStr(i).PadLeft(5, "0"c))
> Next i
>
> では、どうでしょうか?
それだとMe.picItem00001のイメージが変更されていくだけでは・・・。
Me.picItem00001〜01000をBitMapの配列に格納して
一緒にiでカウントしていくのがいいかな?
For i As Integer = 1 To 1000
   Me.arPicItem(i-1).BackgroundImage = New Bitmap(My.Resources.image & CStr(i).PadLeft(5, "0"c))
Next i

[ツリー表示へ]
タイトルRe^3: 処理を短く・・
記事No7521
投稿日: 2008/05/14(Wed) 10:13
投稿者癒耶
ごめんなさい↑のレスはBitMapじゃなくPictureBoxの間違いです(・ω・;)

[ツリー表示へ]
タイトルRe^3: 処理を短く・・
記事No7522
投稿日: 2008/05/14(Wed) 10:34
投稿者花ちゃん
> それだとMe.picItem00001のイメージが変更されていくだけでは・・・。

あ! 失礼しました。 そちら側の処理を忘れていましたね。

[ツリー表示へ]
タイトルRe^4: 処理を短く・・
記事No7525
投稿日: 2008/05/14(Wed) 10:58
投稿者こすぎ
花ちゃんさん、癒耶さん

上記の手順で解決できました。
ありがとうございました。

[ツリー表示へ]