DOBON.NET DOBON.NETプログラミング掲示板過去ログ

【スライドショー】ListBoxで取得した画像のタイマーによる再生方法

環境/言語:[Windows XP]
分類:[.NET]

2013/08/19(Mon) 18:15:59 編集(投稿者)

VB2008を使用して、スライドショーを作成したいと思っていますが、フォルダから画像データを取得した後の順次再生の方法がよく分かりません。
タイマーを使用して再生させればいいというのは色々調べて分かっているのですが、その記述の仕方や手順が分かりません。

指定したフォルダから画像データをリストボックスで取得することはすでにできています。
この後の、取得したリストをピクチャーボックスで再生するための必要手順がさっぱりです。
配列に入れた方がいいのか、そのままで再生できるのか。

さらに、再生する画像数が毎回不明(そのため、毎回指定フォルダからデータを取得させています)であるということが、余計にプログラミングを分からなくさせています。

以下、現在の状況です。

----------------------------------コード----------------------------------

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'"とあるフォルダを指定"以下のファイルをすべて取得
'ワイルドカード"*"は、すべてのファイルを意味する
Dim files As String() = System.IO.Directory.GetFiles( _
"とあるフォルダを指定してます", "*", System.IO.SearchOption.AllDirectories)

Timer1.Interval = 2000
timer1.enabled = True

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

【ここに記述される部分が分かりません】

End Sub
End Class

----------------------------------終了----------------------------------

少しでも分かることがありましたら、ご指摘願います。
私自身プログラミング初心者なので、できれば詳しく教えていただけると大変助かります。
また、関連するURLなどありましたらぜひ教えて下さい。

よろしくお願いします。

----------
この記事は クリエイティブ・コモンズ 表示 - 改変禁止 3.0 非移植 ライセンスの下に提供されています。
http://creativecommons.org/licenses/by-nd/3.0/
■No31749に返信(あねもねさんの記事)

リストボックスは何のためにあるのでしょう?
リストボックスがただ画像を読込む為の器なのでしたら
List(of Image)の変数を使用してそこに画像を読込んだ方が
良いかと思います。

TimerのTickイベントで処理するのに必要なのはそのときどの画像を
表示してよいかということが分かることでそれは画像リストのインデックス
ということになります。このインデックスはTickイベントが終了しても内容が
保持されている必要があります。なのでインデックス情報を保持する変数を
Form内のPrivate変数で定義してTickイベント内でインデックスの場所の画像を
PictureBoxに設定しインデックスを1増やせばよいです。インデックスが最後まで
到達したら0に戻すなりTimerを止めるなりするとよいでしょう。
■No31753に返信(shuさんの記事)

ご指摘ありがとうございます。
なるほど、リストボックスを使う必要はありませんでした。
いただいた意見を参考に、制作を続けたいと思います。

ありがとうございました。
■No31759に返信(あねもねさんの記事)
> ■No31753に返信(shuさんの記事)
>
> ご指摘ありがとうございます。
> なるほど、リストボックスを使う必要はありませんでした。
> いただいた意見を参考に、制作を続けたいと思います。
>
> ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板