アニメーション&Thread Time

アニメーションしながら Thread で時刻を取得します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの作成

  1. 画像を切り分けてタイマー設定でアニメーションします。
    同時に Thread 起動で取得した時刻を TextBox に表示します。
    ベースとなるプロジェクトを 美人のアニメーション を参照して作成して下さい。
    スレッドを使うときは using で Threading を追加します。
    using System.Threading;
    
  2. アニメーションする画像の下に TextBox を貼り付けます。
  3. Thread で起動する NowTime() メソッドを定義します。
    1000 ミリ秒毎に時刻を取得して TimeStr に格納しています。
        public Thread    thread;     // スレッドの領域
        public String    TimeStr;    // スレッドで時刻を取得
    
        public void NowTime()
        {
            while(true)
            {
                TimeStr = DateTime.Now.ToString();
                Thread.Sleep(1000);
            }
        }
    
  4. Form1 の Constructor で Card Class を生成して画像を入力します。
    Thread で NowTime メソッドを起動します。
    Timer を起動してアニメーションを開始します。
        public Form1()
        {
            InitializeComponent();
            App = new Card(@"c:\data\test\bijin16.jpg", 60, 60);
            thread = new Thread(new ThreadStart(NowTime));
            thread.IsBackground = true;
            thread.Start();
            timer1.Start();
         }
    
  5. MyHandler で TextBox に TimeStr を表示するコードを追加します。
        private void MyHandler(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            if (App.bmp == null) Application.Exit();
            App.View(g, SP_NO, 20, 20);
            textBox1.Text = TimeStr;
        }
    
  6. コンパイル&実行すると美人のアニメーションが始まります。
    また同時に TextBox に現在時刻が表示されます。

[Next Chapter ↓] Thread Animation
[Previous Chapter ↑] Thread Join

超初心者のプログラム入門(C# Frame Work)