Freigeben über


Programmstruktur und Ausführungsablauf

Aktualisiert: November 2007

Beim Erstellen einer C#-Anwendung können Sie zwischen einer Konsolenanwendung und einer Windows Forms-Anwendung wählen. Die beiden Anwendungstypen unterscheiden sich nicht nur in der Art der Benutzeroberfläche, sondern auch in ihrem Ausführungsablauf.

Windows Forms-Anwendungen

Nach dem Start einer typischen Windows-Anwendung mit grafischer Benutzeroberfläche finden fast alle Aktionen als Reaktion auf Benutzeraktionen wie Bewegen der Maus, Auswählen einer Menüoption oder Eingeben von Text statt. Diese Aktionen lösen Ereignisse aus, und es werden spezielle Methoden in der Anwendung, die so genannten Ereignishandler, aufgerufen. Fast alle Aktionen eines Windows-Programms werden von einem Ereignishandler initiiert. Wenn keine Ereignisse generiert werden, führt das Programm keine Aktionen aus.

Wenn Sie meist mit prozeduralen Programmiersprachen wie COBOL, BASIC oder FORTRAN arbeiten, müssen Sie sich zunächst an das ereignisgesteuerte Modell gewöhnen. Der wesentlichste Unterschied besteht darin, dass mit der ereignisgesteuerten Programmierung andere Software, einschließlich des Betriebssystems selbst, Ereignishandlermethoden in der Anwendung aufruft. Sie wissen nicht, welche Methoden aufgerufen werden. Sie können festlegen, welche Ereignisse in der Anwendung behandelt werden, aber es ist nicht möglich, im Voraus die exakte Reihenfolge zu kennen, in der diese Ereignisse eintreten.

In einer typischen Windows-Anwendung sind Felder, Arrays und Auflistungen, die den Zustand der Anwendung enthalten, in der Form-Hauptklasse platziert, die standardmäßig Form1 heißt. Im Gültigkeitsbereich der Klasse können alle Ereignishandlermethoden, die in derselben Form-Klasse implementiert sind, auf diese Member zugreifen. Wenn ein Ereignishandler aufgerufen wird, ändert dieser möglicherweise die Anwendungsdaten, und wenn die Methode einen Wert zurückgibt, kehrt die Anwendung in den Wartezustand zurück. Ein Formular kann zum Beispiel ein TextBox-Steuerelement und eine Schaltfläche Aktualisieren enthalten. Wenn auf die Schaltfläche geklickt wird, führt der Ereignishandler in der Anwendung möglicherweise einen Vorgang wie das Abrufen des Texts im TextBox aus und fügt diesen dann einer Liste mit weiteren Zeichenfolgen hinzu, die im Gültigkeitsbereich der Klasse gespeichert werden. Nach dem Hinzufügen der Zeichenfolge kehrt die Anwendung in den Wartezustand zurück. Andere Ereignishandler können als Reaktion auf Benutzereingaben weitere Aktionen an derselben Zeichenfolgenliste ausführen.

Benutzerdefinierte Klassen können Ereignisse mit denselben Mechanismen wie Windows Forms senden und empfangen. Weitere Informationen finden Sie unter Delegaten (C#-Programmierhandbuch).

Konsolenanwendungen

In vielen Konsolenanwendungen verläuft der Ausführungsablauf von einer Anweisung zur nächsten, bis das Ende des Programms erreicht ist und die Anwendung beendet wird. Dies ist selbstverständlich nicht immer der Fall, da eine Konsolenanwendung auch durch Tastatur- und Systemereignisse gesteuert werden kann, die von Objekten wie Zeitgebern und Netzwerkverbindungen generiert werden. Einfache Konsolenanwendungen bestehen oft aus nur einer Klasse, und zwar derjenigen, die die Main-Methode enthält. Komplexere Anwendungen können hingegen eine beliebige Anzahl von Klassen enthalten.

Weitere Informationen

Am besten lernen Sie die Struktur von C#-Programmen anhand von Beispielcode kennen, z. B. im Abschnitt Visual C# Samples im Visual C# Developer Center sowie an anderen Stellen im Internet.

Siehe auch

Aufgaben

Gewusst wie: Erstellen einer neuen Visual C# Express-Anwendung

Konzepte

Einführung in C#

Ereignisreihenfolge in Windows Forms

Mausereignisse in Windows Forms