(0) exportieren Drucken
Alle erweitern

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;
    

    Private WithEvents myButton As 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.

    void Button_Click(object sender, EventArgs e)
    {...}
    

    Sub Button_Click(sender As Object, e As EventArgs)
    ...
    End Sub
    
  3. Fügen Sie die Ereignishandlermethode dem Click-Ereignis des Button hinzu.

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

    AddHandler myButton.Click, AddressOf Me.Button_Click
    
    NoteHinweis

    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.

Beispiel

Das folgende Codebeispiel behandelt das Click-Ereignis von Button, um die Hintergrundfarbe von 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.
   [STAThreadAttribute]
   public static void Main(string[] args) 
   {
      Application.Run(new MyForm());
   }
}

Kompilieren des Codes

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.cs

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

Siehe auch

Anzeigen:
© 2014 Microsoft