C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: スライドショウのように表示したい


(過去ログ 59 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■33910 / inTopicNo.1)  スライドショウのように表示したい
  
□投稿者/ さいごー (1回)-(2009/03/13(Fri) 00:59:40)

分類:[C#] 

WindowsXP VisualC# 2008 SP1でプログラムを作っています。

PictureBoxにつぎつぎと画像を読み込んで、スライドショウのように表示したいと考えました。
string[] files = System.IO.Directory.GetFiles(@"c:\photo\", "*.jpg");
foreach(string file in files) {pictureBox.Image = Bitmap.FromFile(file);}

ところが、これでは、最後の1枚しか表示されないのです。

foreach(string file in files) {pictureBox.Image = Bitmap.FromFile(file);System.Threading.Thread.Sleep(1000);}
としてみると、表示がおかしくなりました。

foreach(string file in files) {MessageBox.Show(file);
pictureBox.Image = Bitmap.FromFile(file);}
とすると、1枚ごとにメッセージボックスが表示されますが、
[OK]で閉じると、つぎつぎとファイルを読むことができます。
このようなときに、どうしたらよいか、ご教示いただけないでしょうか。

引用返信 編集キー/
■33912 / inTopicNo.2)  Re[1]: スライドショウのように表示したい
□投稿者/ επιστημη (1824回)-(2009/03/13(Fri) 06:02:48)
επιστημη さんの Web サイト
タイマーを仕掛けておいて、タイムアウトのたんびに 
Bitmap.FromFile(次のファイル) してはいかがでしょ。

引用返信 編集キー/
■33914 / inTopicNo.3)  Re[2]: スライドショウのように表示したい
□投稿者/ Jitta on the way (288回)-(2009/03/13(Fri) 07:58:34)
No33912 (επιστημη さん) に返信
> タイマーを仕掛けておいて、タイムアウトのたんびに 
> Bitmap.FromFile(次のファイル) してはいかがでしょ。
>

使うタイマーによっては別スレッドになるので要注意。
詳しいことは、MSDN ライブラリを読む、ということで。
引用返信 編集キー/
■33947 / inTopicNo.4)  Re[3]: スライドショウのように表示したい
□投稿者/ さいごー (2回)-(2009/03/13(Fri) 19:10:06)
コメントありがとうございました。threadを使うことで自己解決しました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -