Megosztás a következőn keresztül:


Vezérlőesemény kezelése

A vezérlők (és űrlapok) eseményeit általában a Visual Studio Visual Designer for Windows Formson keresztül állítja be. Az esemény Visual Designer segítségével történő beállítása az esemény tervezési időben való kezelésének tekinthető. Az eseményeket dinamikusan is kezelheti kódban, más néven futtatókörnyezeti események kezelését. A futtatókörnyezetben létrehozott esemény lehetővé teszi az eseménykezelők dinamikus csatlakoztatását az alkalmazás aktuális művelete alapján.

Esemény kezelése a tervezéskor

A Visual Studióban a Visual Designer segítségével kezelheti a vezérlőeseményekhez tartozó kezelőket. A Visual Designer létrehozza a kezelőkódot, és hozzáadja az eseményhez.

A kezelő beállítása

Az esemény kezelőjének hozzáadásához vagy beállításához használja a Tulajdonságok panelt:

  1. Nyissa meg a módosítani kívánt vezérlőt tartalmazó űrlap Visual Designer elemét.

  2. Válassza ki a vezérlőt.

  3. Módosítsa a Tulajdonságok panel üzemmódját az események -re az események gomb () lenyomásával.

  4. Keresse meg azt az eseményt, amelyhez hozzá szeretne adni egy kezelőt, például a Kattintson eseményre:

    Visual Studio tulajdonságok panelje, amelyen engedélyezve van az esemény mód és a kattintási esemény.

  5. Tegye az alábbiak egyikét:

    • Kattintson duplán az eseményre egy új kezelő létrehozásához; ha nincs kezelő hozzárendelve, az üres lesz. Ha nem üres, ez a művelet megnyitja az űrlap kódját, és a meglévő kezelőhöz navigál.

    • A kijelölési mező () használatával válasszon ki egy meglévő kezelőt.

      A kijelölési mező felsorolja az összes olyan metódust, amely kompatibilis metódusaláírással rendelkezik az eseménykezelőhöz.

A handler törlése

Az eseménykezelő eltávolításához nem törölheti egyszerűen az űrlap kód mögötti fájljában található kezelőkódot, a tervező továbbra is hivatkozik rá. Az esemény kezelőjének eltávolításához használja a Tulajdonságok panelt:

  1. Nyissa meg a módosítani kívánt vezérlőt tartalmazó űrlap Visual Designer elemét.

  2. Válassza ki a vezérlőt.

  3. Módosítsa a Tulajdonságok panel üzemmódját az események -re az események gomb () lenyomásával.

  4. Keresse meg az eltávolítani kívánt kezelőt tartalmazó eseményt, például a Kattintson eseményre:

    Visual Studio tulajdonságok panelje, amelyen engedélyezve van az esemény mód és a kattintási esemény.

  5. Kattintson a jobb gombbal az eseményre, és válassza az Alaphelyzetbe állításlehetőséget.

Futásidőben kezelj egy eseményt

Általában a Visual Designeren keresztül ad hozzá eseménykezelőket a vezérlőkhöz tervezéskor. Létrehozhat azonban vezérlőket futtatókörnyezetben, amelyhez eseménykezelőket kell hozzáadnia a kódban. A kezelők kód általi hozzáadása lehetőséget biztosít több kezelő hozzáadására ugyanahhoz az eseményhez.

Kezelő hozzáadása

Az alábbi példa bemutatja, hogyan hozhat létre vezérlőt és vehet fel eseménykezelőt. Ez a vezérlő egy másik gombot hoz létre az Button.Click eseménykezelőben. Amikor Button1 meg van nyomva. A kód áthelyez és méretez egy új gombot. Az új gomb Click eseményét a MyNewButton_Click metódus kezeli. Azért, hogy az új gomb megjelenjen, hozzáadjuk az űrlap Controls gyűjteményéhez. A Button1.Click esemény kezelőjének eltávolítására is van kód. Erről a Kezelő eltávolítása szakaszban olvashat.

private void button1_Click(object sender, EventArgs e)
{
    // Create and add the button
    Button myNewButton = new()
    {
        Location = new Point(10, 10),
        Size = new Size(120, 25),
        Text = "Do work"
    };

    // Handle the Click event for the new button
    myNewButton.Click += MyNewButton_Click;
    this.Controls.Add(myNewButton);

    // Remove this button handler so the user cannot do this twice
    button1.Click -= button1_Click;
}

private void MyNewButton_Click(object sender, EventArgs e)
{
    
}
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    'Create and add the button
    Dim myNewButton As New Button() With {.Location = New Point(10, 10),
                                          .Size = New Size(120, 25),
                                          .Text = "Do work"}

    'Handle the Click event for the new button
    AddHandler myNewButton.Click, AddressOf MyNewButton_Click
    Me.Controls.Add(myNewButton)

    'Remove this button handler so the user cannot do this twice
    RemoveHandler Button1.Click, AddressOf Button1_Click
End Sub

Private Sub MyNewButton_Click(sender As Object, e As EventArgs)

End Sub

A kód futtatásához tegye a következőket egy űrlapon a Visual Studio Visual Designerrel:

  1. Adjon hozzá egy új gombot az űrlaphoz, és nevezze el Gomb1.
  2. Módosítsa a Tulajdonságok panel üzemmódját az Események üzemmódra az esemény gomb () lenyomásával.
  3. A kezelő létrehozásához kattintson kétszer a Kattintás eseményre. Ez a művelet megnyitja a kódablakot, és létrehoz egy üres Button1_Click metódust.
  4. Cserélje le a metódus kódját az előző, fent említett kódra.

A C#-eseményekről további információt Események (C#) A Visual Basic-eseményekről további információt Események (Visual Basic)

A kezelő eltávolítása

A Kezelő hozzáadása szakasz kódot használt a kezelő hozzáadásának bemutatására. Ez a kód egy kezelő eltávolítására irányuló hívást is tartalmazott:

button1.Click -= button1_Click;
RemoveHandler Button1.Click, AddressOf Button1_Click

Ez a szintaxis bármely eseménykezelő eltávolítására használható.

A C#-eseményekről további információt Események (C#) A Visual Basic-eseményekről további információt Események (Visual Basic)

Több esemény használata ugyanazzal a kezelővel

A Visual Studio Visual Designer Tulajdonságok paneljén kiválaszthatja ugyanazt a kezelőt, amelyet egy másik esemény már használ. Kövesse a Kezelő beállítása szakaszban található utasításokat, hogy új kezelő létrehozása helyett válasszon ki egy meglévő kezelőt.

A C#-ban a kezelő egy vezérlő eseményéhez van csatolva az űrlap tervezőkódjában, amely a Visual Designeren keresztül módosult. További információ a C#-eseményekről: események (C#)

Visual Basic

A Visual Basicben a kezelő egy vezérlő eseményéhez van csatolva az űrlap kód mögötti fájljában, ahol az eseménykezelő kódja deklarálva van. Több Handles kulcsszó is hozzáadható az eseménykezelő kódhoz, hogy több eseményhez használhassa. A Visual Designer létrehozza a Handles kulcsszót, és hozzáadja az eseménykezelőhöz. Ezt azonban könnyedén elvégezheti bármely vezérlő esemény- és eseménykezelőjéhez, ha a kezelő metódus aláírása megegyezik az eseménysel. További információ a Visual Basic-eseményekről: Események (Visual Basic)

Ez a kód bemutatja, hogyan használható ugyanaz a módszer két különböző Button.Click esemény kezelőjeként:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click
    'Do some work to handle the events
End Sub

Lásd még