VS事始め (4) : イベント発生! | ほげほげ草

VS事始め (4) : イベント発生!

今回はイベントの追加に関してお話します。


これまでフォームにコントロールを配置するところまではやっています。


このコントロールにはイベントに対する動作を指定することができます。


たとえば,ボタンを"押す"というイベントが発生したとき,メッセージボックスを表示する,といった感じですね。


まあ,いつものことですがいろいろ語るよりやってみた方が早いってことで早速行ってみましょう。


  1. フォームに以下のようにコントロールを貼り付けてください。

    ほげほげ草

    それぞれのコントロールには以下のような名前 (Name) を付けました。


    TextBox textBox
    Button(左側) btnA
    Button(右側) btnB

    配置はお任せします。


    仕様が自由にできるのが自作プログラムの醍醐味です。


    ちなみに,buttonbtn と省略するのは私の癖なので,お気になさらないでください。


  2. まず btnA を選択し,プロパティウィンドウのイベントを選択します(下図赤枠)。


    そこから,Click というイベントを探して選択します。

    ほげほげ草

    この Click イベントは,ボタンが押されたときに発生するイベントです。


  3. 選択したら Enter を押してください。


    Form1.cs が開いて,下の図のように btnA に対するソースが追加されていると思います。

    ほげほげ草

    ここに,


        private void btnA_Click(object sender, EventArgs e)
        {
          textBox.Text = "ほげ";
        }

    などと入力してください。


    そして,ビルドした後実行します。


    左側のボタンをクリックすると,テキストボックスに文字が入力されたと思います。

    ほげほげ草

  4. 同様に btnB に対してもイベントを追加し,


        private void btnB_Click(object sender, EventArgs e)
        {
          textBox.Text = "むにゃ";
        }

    などと入力してください。


    ボタンを交互に押すことで文字列が変化させられると思います。

    ほげほげ草

これで,イベントの追加に関してはおしまいなのですが,追加の仕方がもう1通りあります。


btnB のプロパティウィンドウを見てください。


Click の右に下向きの矢印がついたドロップボタンがありますよね。


これを選んでみましょう。


そうすると,ソース (Form1.cs) の中に書かれたイベントの一覧が出てきます。

ほげほげ草

この中からイベントを選択し,そのコントロールのイベントとすることができます。


ためしに btnBClick イベントに btnA_Click を割り当ててみましょう。

ほげほげ草

できたら実行してください。


どちらを押しても,文字が変わらなくなりましたよね。

ほげほげ草

イベントは発生しているので,テキストボックスの文字を消してもう1度押しても同じ結果です。


これはメニューバーとツールバーを使うときによくやります。


たとえば,ファイルを開くにはメニューバーからでもツールバーからでもできます。


しかし,ボタンが違うのでそれぞれにイベントを割り当てる必要がありますが,同じことを2度書くのは面倒ですよね。


そんなわけで,片方だけ定義した後,もう片方はこの方法で割り当てることがあります。


これにてイベント終了です。