C#の覚え書き
コントロール
複数ボタンの実装
複数のボタンを実装する場合
ボタンをフォームへ作成し、そのボタンをダブルクリックすると、プロパティダイアログのイベント内の「Click」に新しいイベントハンドらが追加されます。
新しいボタンを増やすし同じ手順を行うと、同様に新しいイベントハンドらが追加されます。
ボタンが並んでいる場合は、同じような処理が並ぶ場合が多いです。
いちいち複数の関数を記述しない方法があったら便利だと思いました。

VisualStatioで勝手に追加してくれるイベントの引数は以下のようになっています。
 private void button_Son1_Click(object sender, EventArgs e)
この、object senderは、押されたボタンのオブジェクトが引き渡されているので
以下のようにすると簡単に、違いがわかるようになります。

     

        private void button_Son1_Click(object sender, EventArgs e)

        {

            Button btn = sender as Button;
            switch (btn.Name)

            {

                case "button_Son1":/*button_Son1の処理を書く*/break;

                case "button_Son2"/*button_Son1の処理を書く*/break;

                default: buf = 0; break;

            }
        }

button_Son1とbutton_Son2という名称でボタンがフォームに実装されています。


では、どうするのかですが、一番最初の関数は、今までどおりダブルクリックして作成します。
2番目以降は、ボタンを押した場合は「Click」のところで、マウスの右ボタンを押して、呼び出したい関数を指定すれば、このボタンが押されたときに、その関数が呼び出されます。

これによって、イベントハンドらで呼び出される関数で処理が済むので、たいぶ読みやすいソースが出来る用になりました。