Riverside Learning LABO(Skill/Idea/Code)

よりよいシステムのため工学系と人間系の学習下書きメモ

デリゲートの基礎

C#デリゲートの基礎

ボタンを押されたときの C# の動作について

ボタン押下時のイベントとコントロールをどう紐付けているのか?

1.フォームデザイナーでボタンを貼り付ける
2.ボタンをダブルクリック

  #region Windows Form Designer generated code
  ///


  /// デザイナ サポートに必要なメソッドです。このメソッドの内容を
  /// コード エディタで変更しないでください。
  ///

  private void InitializeComponent()
  {
  ・・・省略
  this.button1.Click += new System.EventHandler(this.button1_Click);
  ・・・省略
  }
  #endregion

  private void button1_Click(object sender, System.EventArgs e)
  {
  // ボタン押下時の処理
  }

System.EventHandler は、
public delegate void EventHandler( object sender, EventArgs e ); 
というデリゲートになっている
そのイベントハンドラーを、
this.button1.Click += new System.EventHandler(this.button1_Click)
で Click に追加している。

上記を行うことで特定のイベントがコントロールと紐付く

イベントハンドラー=デリゲート(一部)