Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Gewusst wie: Verarbeiten von Ereignissen in einer Windows Forms-Anwendung

In Windows Forms-Anwendungen wird häufig ein Formular mit Steuerelementen angezeigt und dann basierend auf dem Steuerelement, auf das der Benutzer klickt, ein bestimmter Vorgang ausgelöst. So löst z. B. ein Button-Steuerelement ein Ereignis aus, wenn der Benutzer auf dem Formular darauf klickt. Indem sie das Ereignis behandelt, kann die Anwendung die dem Klicken auf die Schaltfläche entsprechende Anwendungslogik ausführen.

Weitere Informationen zu Windows Forms finden Sie unter Erste Schritte mit Windows Forms.

So behandeln Sie ein Click-Ereignis für eine Schaltfläche auf einem Windows Form

  1. Erstellen Sie ein Windows Form, das über ein Button-Steuerelement verfügt.

    
    private Button button;
    
    
    
  2. Definieren Sie einen Ereignishandler, der der Signatur des Delegaten für das Click-Ereignis entspricht. Das Click-Ereignis verwendet die EventHandler-Klasse für den Delegattyp und die EventArgs-Klasse für die Ereignisdaten.

    
    private void Button_Click(object sender, EventArgs e)
    {
        //...
    }
    
    
    
  3. Fügen Sie die Ereignishandlermethode dem Click-Ereignis des Button hinzu.

    
    button.Click += new EventHandler(this.Button_Click);
    
    
    
    Hinweis Hinweis

    Ein Designer (z. B. Visual Studio 2005) übernimmt das Verknüpfen des Ereignisses durch das Generieren von Code, der dem in diesem Beispiel verwendeten Code entspricht.

Das folgende Codebeispiel behandelt das Click-Ereignis von Button, um die Hintergrundfarbe für TextBox zu ändern. Die fett dargestellten Elemente zeigen den Ereignishandler und veranschaulichen, wie dieser mit dem Click-Ereignis von Button verknüpft wird.

Der Code in diesem Beispiel wurde ohne einen visuellen Designer wie Visual Studio 2005 verfasst und enthält nur die wichtigsten Programmierungselemente. Wenn Sie einen Designer verwenden, generiert dieser zusätzlichen Code.


using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;

public class MyForm : Form
{
    private TextBox box;
    private Button button;

    public MyForm() : base()
    {
        box = new TextBox();
        box.BackColor = System.Drawing.Color.Cyan;
        box.Size = new Size(100,100);
        box.Location = new Point(50,50);
        box.Text = "Hello";

        button = new Button();
        button.Location = new Point(50,100);
        button.Text = "Click Me";

        // To wire the event, create
        // a delegate instance and add it to the Click event.
        button.Click += new EventHandler(this.Button_Click);
        Controls.Add(box);
        Controls.Add(button);
    }

    // The event handler.
    private void Button_Click(object sender, EventArgs e)
    {
        box.BackColor = System.Drawing.Color.Green;
    }

    // The STAThreadAttribute indicates that Windows Forms uses the
    // single-threaded apartment model.
    [STAThread]
    public static void Main()
    {
        Application.Run(new MyForm());
    }
}


Speichern Sie den oben stehenden Code in einer Datei (mit der Erweiterung .cs für eine C#-Datei und .vb für Visual Basic 2005). Kompilieren Sie die Datei, und führen Sie sie aus. Wenn die Quelldatei z. B. den Namen WinEvents.cs bzw. WinEvents.vb aufweist, führen Sie den folgenden Befehl aus:


csc /r:System.DLL /r:System.Windows.Forms.dll /r:System.Drawing.dll WinEvents.vb


Die ausführbare Datei erhält den Namen WinEvents.exe.

Community-Beiträge

Anzeigen: