Multi Windows Animation

次々とアニメーションウインドウを開きます。

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

プログラムの説明

  1. Form-2 を参照して Form2 を作成して下さい。
    Form2 は Form1 と同様に画像を描画するためのウインドウを持ちます。
    ここにタイマー設定でアニメーションする Class をプログラムします。
    Form2.cs に Card Class を定義して下さい。
    Card Class は 美人のアニメーション を参照して下さい。
  2. Form2 の [デザイン] を表示して [ツールボックス] から [Timer] を貼り付けます。
    Timer のプロパティウインドウの [イベント] ボタンをクリックして [Tick] を表示します。
    [Tick] の右にあるコンボ ボックスに「timer1_Tick」と入力して [Enter] キーを押します。
    プログラムファイルにイベントメソッドが追加されます。
    Timer のプロパティから Interval を 200 に設定して下さい。
  3. タイマーイベントをコーディングします。
    SP_NO を計算して Invalidate() を実行すると Paint メソッドが呼び出されます。
    SP_NO は画像を切り分けて描画するときの Sprite 番号です。
        int SP_NO = 0;
    
        private void timer1_Tick(object sender, EventArgs e)
        {
            SP_NO= (SP_NO+1)%16;
            Invalidate();
        }
    
  4. Form2 の Constructor で Card Class を生成します。
    "c:\data\test\" に "bijin16.jpg" の画像を格納しておいて下さい。
    準備が出来ると Timer を起動します。

        Card App;
        int SP_NO = 0;
    
        public Form2()
        {
            InitializeComponent();
            App = new Card(@"c:\data\test\bijin16.jpg", 60, 60);
            timer1.Start();
        }
    
  5. Form2 のプロパティから稲妻アイコンを選択します。
    Paint に MyHandler を設定して Sprite を切り分けて描画します。
        private void MyHandler(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            if (App.bmp == null) Application.Exit();
            App.View(g, SP_NO, 20, 20);
        }
    
  6. Form1 にボタンを貼り付けます。
    Form2 を生成してアニメーションを開始するボタンです。
    クリックする毎に、新しいウインドウが生成されてアニメーションが開始されます。
    Form1 を終了すると、起動中の全てのアニメーションも終了します。
        private void Button_Click(object sender, EventArgs e)
        {
            Form2 MyForm2 = new Form2();
            MyForm2.Show();
        }
    

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