usercontrolがbuttonなどのuserctrlのコントロールからフォームを構築するイベントをどのように発行できるか

3382 ワード

usercontrolを定義buttonコントロールを上に置くと、このusercontrolを使用するウィンドウでbuttonがクリックされたイベントをキャプチャするにはどうすればいいですか?
(1)カスタムコントロールにカスタムイベントを追加する
C# code

   
             public event EventHandler ButtonClick = 

null;


(2)コントロールコンストラクタにbuttonを追加する.clickイベント宣言
C# code

   
             public UserControlButton()

        {

            InitializeComponent();

          //  button1.Click += new EventHandler(button1_Click);

        }


(3)clickイベントでイベントトリガパラメータを渡す
C# code

   
             private void button1_Click(object sender 

, EventArgs e)

        {

            if ( ButtonClick != null )

            {

                ButtonClick(sender , e); 

            }

        }


(4)formコンストラクション関数でButtonClickイベントを宣言する
 
C# code

   
              userControlButton1.ButtonClick += 

new EventHandler(userControlButton1_ButtonClick);


(5)ButtonClickイベントを宣言するとFromにvoid userControl Button 1_が生成される.ButtonClick(object sender,EventArgs e)メソッド
C# code

   
             void 

userControlButton1_ButtonClick(object sender , EventArgs e)

        {

           //  throw new 

NotImplementedException();

        }