Control.Events プロパティ


コントロールのイベント ハンドラー デリゲートのリストを取得します。Gets a list of event handler delegates for the control. このプロパティは読み取り専用です。This property is read-only.

 property System::ComponentModel::EventHandlerList ^ Events { System::ComponentModel::EventHandlerList ^ get(); };
protected System.ComponentModel.EventHandlerList Events { get; }
member this.Events : System.ComponentModel.EventHandlerList
Protected ReadOnly Property Events As EventHandlerList



イベント ハンドラー デリゲートのリスト。The list of event handler delegates.

次の例では、Clickという名前のイベントを作成します。このイベントは、ページからイベントが呼び出されたときに、コントロールの EventHandlerList コレクションからハンドラーを追加および削除します。The following example creates an event, named Click, that adds and removes handlers from the control's EventHandlerList collection when the event is called from a page.


この例では、コントロールが保持するイベントの一覧から、コントロールによってイベントが追加および削除される方法を最適化します。This example optimizes how a control adds and removes events from the list of them that the control maintains. カスタムコントロールを作成し、イベントを定義する場合は、次のようなコードを使用します。If you create custom control and want to define an event, use code similar to this. この手法はで使用でき C# ますが、Visual Basic では使用できません。This technique can be used in C#, but not in Visual Basic.

// Create an event that adds and removes handlers from the
// Control.Events collection when this event is called from
// a participating page.
public event EventHandler Click {
    add {
        Events.AddHandler(EventClick, value);
    remove {
        Events.RemoveHandler(EventClick, value);


このプロパティは EventHandlerList型で、線形検索アルゴリズムを使用してデリゲートの一覧のエントリを検索します。This property is of type EventHandlerList, which uses a linear search algorithm to find entries in the list of delegates. 大量のエントリを処理する場合、線形検索アルゴリズムは非効率的です。A linear search algorithm is inefficient when working with a large number of entries. このため、リストが大きい場合は、このプロパティを使用してエントリを検索すると処理速度が低下します。Therefore, when you have a large list, finding entries with this property will be slow.