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

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

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

Re[4]:  c# フォームアプリケーションでの画像の連続表示 その2


(過去ログ 107 を表示中)

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

■63655 / inTopicNo.1)   c# フォームアプリケーションでの画像の連続表示 その2
  
□投稿者/ poigumi (4回)-(2012/09/22(Sat) 13:54:23)

分類:[C#] 

2012/09/22(Sat) 14:41:59 編集(投稿者)
昨日も質問させていただいたものです。昨日教えていただいた方のソースコードの通りやってみたところ、画像が表示されないという事態になりました。何が足りないか教えていたただけないでしょうか?お願いします。下にソースコードを載せます。
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private string[] files = { };
        private int fileIndex = -1;

        private void button1_Click(object sender, EventArgs e)
        {
            string picPath = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
            files = Directory.GetFiles(picPath, "*.jpg", SearchOption.AllDirectories);

            listBox1.DataSource = files.Select(f => Path.GetFileName(f)).ToArray();

            if (files.Length == 0)
            {
                fileIndex = -1;
                MessageBox.Show("ファイルがありません。", "",
                    MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                fileIndex = 0;
                timer1.Interval = 1000;
                timer1.Start();
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (fileIndex >= files.Length)
            {
                timer1.Stop();
            }
            else
            {
                listBox1.SelectedIndex = fileIndex;

                pictureBox1.LoadAsync(files[fileIndex]);
                fileIndex++;
            }
        }
    }
}

追記:調べてみたところ、timerが動いてみないみたいです。よろしくお願いします。

引用返信 編集キー/
■63656 / inTopicNo.2)  Re[1]:  c# フォームアプリケーションでの画像の連続表示 その2
□投稿者/ Azulean (36回)-(2012/09/22(Sat) 21:53:04)
No63655 (poigumi さん) に返信
> 追記:調べてみたところ、timerが動いてみないみたいです。よろしくお願いします。

もし、timer1_Tick でブレークポイント貼ってもこないのであれば、イベントの設定忘れが疑われます。
イベントハンドラ(timer1_Tick など)を書くだけではイベントはきませんので、timer1 コンポーネントを選んでプロパティウィンドウのイベントを確認してみてください。

// あるいは、timer1.Tick += timer1_Tick; とか書くか。
引用返信 編集キー/
■63660 / inTopicNo.3)  Re[1]:  c# フォームアプリケーションでの画像の連続表示 その2
□投稿者/ 納豆 (3回)-(2012/09/24(Mon) 06:00:00)
PictureBox に読み込んだあと、Invalidate() してみてはいかがでしょうか。
引用返信 編集キー/
■63661 / inTopicNo.4)  Re[1]:  c# フォームアプリケーションでの画像の連続表示 その2
□投稿者/ 納豆 (4回)-(2012/09/24(Mon) 06:02:50)
あ…すいません。

Timer コントロールは、デザイナから貼り付けた時点ではEnabled = false になっています。
おそらく true になっていないのでしょう。

引用返信 編集キー/
■63662 / inTopicNo.5)  Re[2]:  c# フォームアプリケーションでの画像の連続表示 その2
□投稿者/ Azulean (37回)-(2012/09/24(Mon) 07:21:18)
2012/09/24(Mon) 07:51:00 編集(投稿者)

No63661 (納豆 さん) に返信
> Timer コントロールは、デザイナから貼り付けた時点ではEnabled = false になっています。
> おそらく true になっていないのでしょう。

参考までに紹介しておきます。

Timer.Start メソッド
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.timer.start
(Timer.Enabled = true と同等の効果がある)
引用返信 編集キー/
■63669 / inTopicNo.6)  Re[3]:  c# フォームアプリケーションでの画像の連続表示 その2
□投稿者/ poigumi (6回)-(2012/09/24(Mon) 20:28:31)
皆さんありがとうございました。無事解決しました。またなにかあればよろしくお願いします。
解決済み
引用返信 編集キー/
■63670 / inTopicNo.7)  Re[4]:  c# フォームアプリケーションでの画像の連続表示 その2
□投稿者/ Azulean (38回)-(2012/09/24(Mon) 22:36:08)
No63669 (poigumi さん) に返信
> 皆さんありがとうございました。無事解決しました。またなにかあればよろしくお願いします。

解決おめでとうございます。
できれば、何が問題だったのか書き残していただけますと、ほかの方にも参考になるかもしれません。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -