2016-09-20 5 views

答えて

2

これを行うには複数の方法がありますが、Messaging Centerを使用してボタンを押したときにメッセージを鳴らすことができますが、溶液。

私はあなたの質問から収集したものから、あなた自身のユーザーコントロールを作成しました。あなたのボタンは、我々はこのイベントをオフに解雇する必要がクリックされたとき、今

public delegate void OnSomeButtonClickedDelegate(); 

public OnSomeButtonClickedDelegate OnSomeButtonClicked { get; set; } 

:そのコントロールでは、このように、デリゲートとイベントを定義します。第一ワイヤアップイベントを:

myButton.Clicked += myButtonClickedEvent; 

そして、イベントハンドラ内でこのような何かを:誰もこのイベントに加入していない場合、それは何を持っているので、あなたがnull最初のためにそれをチェックする必要がない

private void myButtonClickedEvent(object sender, EventArgs args) 
{ 
    if (OnSomeButtonClicked != null) 
     OnSomeButtonClicked(); 
} 

それを発射するの使用。誰かが持っているなら、それを呼び出す。

もちろん、パラメータなどを好きなように指定することができます。

今、あなたはあなたが今実装することができ、あなたのユーザーコントロールを使用するページで:

myUserControl.OnSomeButtonClicked += onSomeButtonClickedEvent; 
+0

いくつかの関連するコードとあなたの質問 –

+0

こんにちはジェラルド、 は、私はあなたのコードを使用しますが、私はエラーが生じています更新してください。これはページで使用されているユーザーコントロールですが、エラーとしてエラーが発生します:メソッドまたはデリゲート 'Srvy.AddQuestionsPage.onSomeButtonClickedEvent(object、System.EventArgs) 'パラメータがデリゲート 'Srvy.MultiSelect_Que.OnSomeButtonClickedDelegate() 'のパラメータと一致しません –

+0

'オブジェクト、System.EventArgs'をパラメータから削除してください(エラーが発生した行にあります) –

関連する問題