2011-08-08 13 views
0

私は、ピクチャーボックス、ラベル、およびコンボボックスで作成したカスタムコントロールを持っています。カスタムのSelectedIndexChangedイベントハンドラーを作成して、インデックスが完了したらアクションを実行できます。コンボボックスが変更されましたが、カスタムコントロールではこのイベントはデフォルトでは利用できませんので、私が作成できることを期待しています。カスタムコントロールとイベントは私にとって初めてのものです。どのような助けにも感謝するでしょう、ありがとうございます。カスタムコントロールにイベントハンドラーを追加する

答えて

0

あなたは今あなたがこれを行うことができ、選択された項目内緒イベントを起動する場合:

public event EventHandler SelectionChanged; 

protected virtual void OnSelectionChanged() { 
    if (SelectionChanged != null) { 
     SelectionChanged(this, new EventArgs()); 
    } 
} 

は自分のコントロール内OnSelectionChanged()を呼び出して、イベントSelectionChangedが発射されます。

あなたも自分のobjectarrayでobject[]を置き換え、今は次のように使用することができ、選択された要素をお伝えしたい場合:

public event SelectionChangedEventHandler SelectionChanged; 
public delegate void SelectionChangedEventHandler(object sender, SelectionChangedEventArgs e); 

protected virtual void OnSelectionChanged(object[] SelectedItems) { 
    if (SelectionChanged != null) { 
     SelectionChanged(this, new SelectionChangedEventArgs(SelectedItems)); 
    } 
} 

public class SelectionChangedEventArgs : EventArgs { 
    public object[] SelectedItems { get; private set; } 

    public SelectionChangedEventArgs(object[] SelectedItems) { 
     this.SelectedItems = SelectedItems; 
    } 
} 
関連する問題