Zum Fußzeileninhalt springen
Iron Academy Logo
C#-Anwendung
C#-Anwendung

Andere Kategorien

Erstellen einer C#-Anwendung

Tim Corey
1h 35m

Windows Forms App ist eine grafische Benutzeroberflächen-API, die Teil des .NET Framework von Microsoft ist. Es bietet eine Plattform für die Erstellung umfangreicher Desktop-Anwendungen, und das Video von Tim Corey über "Einführung in Windows Forms in .NET 6" bietet eine umfassende Einführung in die Erstellung von Anwendungen mit dieser Technologie. Im Folgenden finden Sie einen detaillierten Einblick in die Konzepte, die im Video behandelt werden, inspiriert von Tims Video.

Einstieg mit Windows Forms

Tim Corey beginnt sein Tutorial mit dem Einrichten eines neuen Windows Forms-Projekts in .NET 6. Der Ausgangspunkt ist die Erstellung eines neuen Projekts in Visual Studio durch Auswahl von "Erstellen", dann die Auswahl der entsprechenden Vorlagen und schließlich die Einrichtung des ersten Formulars (Form1). Dies ist wichtig für Anfänger, um zu verstehen, wie sie ein Projekt initiieren und ihr erstes Formular zum Laufen bringen können.

Einrichten des Projekts:

Tim führt durch den Prozess der Erstellung eines neuen Projekts in Visual Studio und betont dabei die Bedeutung der Auswahl der richtigen Vorlagen und Konfigurationen für Windows Forms-Anwendungen. Dazu gehört die Auswahl des Typs "Windows Forms App", die angemessene Benennung des Projekts, in diesem Fall "WinFormsDemoApp", und die Auswahl von .NET 6.0 als Ziel-Framework (2:05).

Projekteinrichtung

Nachdem Sie auf "Erstellen" geklickt haben, wenn das Projektfenster angezeigt wird, finden Sie ein Standard-Windows-Formular mit allen Vorlagendateien im Lösungsexplorer-Fenster auf der linken Seite des Code-Editors. Das Standardformular basiert auf der grundlegenden Struktur der Windows-Benutzeroberfläche, mit einer Titelleiste, die den Titel der Windows Forms-Anwendung enthält, und Schaltflächen zum Minimieren, Maximieren und Schließen.

Lösungs-Explorer

Schnelle Anwendungsentwicklung mit Windows Forms

Tim erkundet in seinem Video das Konzept der schnellen Anwendungsentwicklung (Rapid Application Development, RAD) mit Windows Forms und betont dessen Einfachheit und Effizienz bei der Erstellung von Prototypen und Proof of Concepts.

Verstehen der schnellen Anwendungsentwicklung

Tim beginnt mit einer Erläuterung des RAD-Konzepts, bei dem es um die schnelle Entwicklung von Anwendungen zur Validierung von Ideen und Funktionen geht.

Erstellung eines Proof of Concept

  1. Nutzung des Toolbox-Fensters: Tim zeigt, wie Entwickler das Toolbox-Fenster in Visual Studio nutzen können, das eine Vielzahl von Steuerelementen enthält, die für die Anwendungsentwicklung wichtig sind.

  2. Drag-and-Drop-Funktionalität: Er veranschaulicht den Prozess des Hinzufügens von Steuerelementen durch Ziehen und Ablegen auf der Design-Oberfläche, wie z. B. Schaltflächen, Textfelder, Etiketten und Kontrollkästchen.

Erstellung einer Basisanwendung

  1. Layout und Design: Tim erklärt die Flexibilität bei der Anordnung von Steuerelementen auf dem Formular und deren Ausrichtung mithilfe der Ausrichtungshilfen von Visual Studio.

  2. Kopieren und Einfügen von Steuerelementen: Er zeigt, wie Entwickler mithilfe von Tastenkombinationen wie Strg+C und Strg+V Steuerelemente schnell duplizieren können, um den Designprozess zu optimieren.

Funktionale Elemente

  1. Konfiguration von Steuerelementen: Tim zeigt, wie man Steuerelemente wie den Fortschrittsbalken konfiguriert, indem man die Eigenschaften direkt im Eigenschaftenfenster anpasst. Diese Interaktion demonstriert Echtzeitänderungen an den visuellen Komponenten der Anwendung.

  2. Interaktive Vorschau: Indem er die Anwendung ausführt, zeigt Tim, wie diese Basiskomponenten interaktiv genutzt werden können, auch wenn ihre Funktionalität noch nicht vollständig implementiert ist.

Ausführung der Basisanwendung

Designer hat Fehler gemacht

Tim Corey erklärt die verschiedenen Möglichkeiten, wie der Windows Forms-Designer versagen kann und wie Entwickler typischerweise auf dieses Problem stoßen.

  • Unerwartete Änderungen: Wenn Entwickler versehentlich wichtige Teile des automatisch generierten Codes in Form1.Designer.cs löschen oder ändern, wie z. B. Ereignishandler oder Code zur Initialisierung von Steuerelementen, kann dies zu einem Ausfall des Designers führen.

  • Inkonsistente Code-Änderungen: Fehler können entstehen, wenn es Diskrepanzen zwischen manuell bearbeitetem Code und dem vom Designer generierten Code gibt. So kann beispielsweise das Entfernen eines Event-Handlers in einer Teilklasse (Form1.cs), aber nicht in der anderen (Form1.Designer.cs) zu einer Fehlanpassung führen, die verhindert, dass das Formular im Designer korrekt geladen wird.

Lesen von Fehlermeldungen

Tim Corey unterstreicht, wie wichtig es ist, Fehlermeldungen von Visual Studio sorgfältig zu interpretieren, wenn es um Probleme mit dem Windows Forms Designer geht.

  • Details zu Fehlermeldungen: Tim hebt spezifische Fehlermeldungen wie "Der Designer kann den unbekannten Namen 'form1_load' in Zeile 153 nicht verarbeiten" hervor, die angeben, wo und warum der Designer auf ein Problem gestoßen ist.

  • Hinweise zur Lösung: Fehlermeldungen enthalten oft umsetzbare Schritte, wie z. B. die Rückgängigmachung von Änderungen am generierten Code oder die Sicherstellung der Konsistenz über alle Teilklassen (Form1.cs und Form1.Designer.cs).

Ereignishandler auch aus anderen partiellen Klassen entfernen

Tim demonstriert eine praktische Lösung zur Behebung von Designer-Problemen, die durch inkonsistente Änderungen von Ereignishandlern in Teilklassen des Formulars verursacht werden.

  • Beispielszenario: Er erklärt, wie das Löschen eines Ereignishandlers (Form1_Load) in einer Teilklasse (Form1.cs), aber nicht in der anderen (Form1.Designer.cs), die Fähigkeit des Designers, das Formular ordnungsgemäß zu laden, beeinträchtigen kann.

  • Einheitliche Änderungen: Indem sichergestellt wird, dass alle Änderungen einheitlich auf beide Teilklassen angewendet werden, können Entwickler die Funktionalität des Windows Forms Designers effektiv wiederherstellen, ohne auf drastische Maßnahmen wie den Neustart von Visual Studio oder die Neuerstellung des Projekts zurückgreifen zu müssen.

Behandlung anderer Ereignisse in Windows Forms

1. Mechanismus zur Ereignisbehandlung

Tim erklärt den Mechanismus der Ereignisbehandlung in Windows Forms. Bei der Verwendung des Windows Forms Designers stellt Tim fest, dass ein Doppelklick auf ein Steuerelement, wie ein Formular selbst, einen Standard-Ereignishandler für dieses Steuerelement erzeugt. So wird beispielsweise durch einen Doppelklick auf das Formular ein Load-Event-Handler erzeugt. Tim warnt davor, dass das Rendering des Formulars im Designer gestört wird, wenn Entwickler den Code innerhalb des Handlers löschen, ohne den Event-Handler selbst zu entfernen. Das liegt daran, dass der Designer das visuelle Layout in Code übersetzt, der für die korrekte Darstellung des Formulars zur Laufzeit unerlässlich ist.

2. Verständnis von Form als Klasse

Tim erklärt, dass Windows Forms im Wesentlichen Klassen sind, die von Form erben und Funktionen wie Formularlayout, Fensterverwaltung (Minimieren, Maximieren, Schließen-Schaltflächen), Größenanpassungsfähigkeiten und mehr bieten. Laut Tim ermöglicht diese Vererbung den Entwicklern, vorgefertigte UI-Komponenten (Button, TextBox, Label, etc.) zu nutzen und sie durch Änderung ihrer Eigenschaften und Methoden zu manipulieren.

3. Manipulation von Eigenschaften

Im Video bei 29:16 demonstriert Tim Corey, wie Eigenschaften in Windows Forms, die im Eigenschaftenfenster von Visual Studio sichtbar sind, es Entwicklern ermöglichen, visuelle Elemente wie Beschriftungen (Eigenschaft Text), Schaltflächen (Eigenschaft Text, Klick-Ereignis) und Fortschrittsbalken (Eigenschaft Wert) zu konfigurieren. Tim betont, dass diese Eigenschaften sowohl zur Entwurfszeit als auch zur Laufzeit geändert werden können, was sich auf das Verhalten und die Darstellung von Steuerelementen im Formular auswirkt.

4. Erstellen mehrerer Instanzen

Tim erklärt, dass jedes Formular (Form1, Form2 usw.) in Windows Forms eine Instanz einer Klasse (Form) ist. Durch die dynamische Erstellung mehrerer Instanzen können Entwickler mehrere Fenster innerhalb einer Anwendung effektiv verwalten. Tim weist darauf hin, dass diese Fähigkeit die schnelle Anwendungsentwicklung (RAD) erleichtert und es ermöglicht, Formulare schnell zu entwerfen, anzupassen und miteinander zu verknüpfen, um komplexe Benutzeroberflächen zu erstellen.

5. Konfiguration des Anwendungsstarts

Die Main Methode in Program.cs bestimmt den Startpunkt der Anwendung, indem sie angibt, welches Formular (Form1, Form2 usw.) zuerst mit Application.Run(new Form1()) initialisiert werden soll. Tim unterstreicht, dass sich durch die Änderung des Startformulars die anfängliche Ansicht ändert, die dem Benutzer beim Starten der Anwendung präsentiert wird, was sich auf den Ablauf der Anwendung und das Benutzererlebnis auswirkt.

Menüs und Symbolleisten in Windows Forms

Tim demonstriert die Vielseitigkeit von WinForms, indem er Menüs und Symbolleisten vorstellt. Er erklärt, wie einfach es ist, diese Elemente innerhalb des Formulars hinzuzufügen und anzupassen. Hier sind die wichtigsten Punkte, die Tim abdeckt:

Hinzufügen eines Statusstreifens

Tim Corey demonstriert, wie man die Benutzerinteraktion durch Hinzufügen eines StatusStrip Steuerelements zu einem Formular verbessert. Dieses Steuerelement enthält Komponenten wie ein ToolStripProgressBar und ToolStripStatusLabel. Durch die Nutzung der Drag-and-Drop-Funktionalität in Visual Studio können Entwickler diese Elemente schnell einbinden, um dynamische Informationen anzuzeigen, wie z. B. Fortschrittsaktualisierungen während Aufgaben oder Statusmeldungen.

Anpassen von Menüleisten

Corey betont die Wichtigkeit, bei der Gestaltung von Menüleisten (MenuStrip) für Windows Forms-Anwendungen die Windows-Standards einzuhalten. Er erklärt, wie man das kaufmännische Und (&) zur Kennzeichnung von Tastenkombinationen und Unterstriche (_) für die Barrierefreiheit verwendet, um sicherzustellen, dass Benutzer mit Tastaturbefehlen durch Menüs navigieren können. Die Zuweisung von &File mit &Exit, unterstrichen als E, ermöglicht es den Benutzern beispielsweise, schnell auf Befehle zuzugreifen und diese auszuführen, ohne auf Mausinteraktionen angewiesen zu sein.

Erstellen von Untermenüs und Ereignissen

Corey zeigt, wie man Untermenüs unter dem MenuStrip erstellt und Ereignisse mit Menüelementen verknüpft. Durch Doppelklicken auf Menüpunkte können Entwickler Ereignishandler generieren und Funktionen implementieren, wie z. B. Nachrichtenanzeigen (MessageBox) oder Aktionen wie das Schließen der Anwendung (this.Close()) ausführen. Er unterstreicht, wie wichtig es ist, die richtigen Namenskonventionen und Best Practices anzuwenden, um die Lesbarkeit und Skalierbarkeit des Codes zu gewährleisten.

Menüs und Werkzeugleisten

Beste Praktiken und Tipps von Tim Corey

Tim Corey betont, dass man ein WinForms-Projekt auf dem richtigen Fuß beginnen sollte, indem man das Standardformular (Form1) in einen aussagekräftigeren Namen umbenennt, z. B. MainForm (1:02:01). Dieser einfache Schritt sorgt für Konsistenz im gesamten Projekt, da die Referenzen in der gesamten Codebasis nahtlos aktualisiert werden.

Anpassen von Formulareigenschaften

Als nächstes betont Tim, wie wichtig es ist, die Formulareigenschaften frühzeitig anzupassen. Das Anpassen der Texteigenschaft des Formulars selbst, um dessen Zweck wiederzugeben (z. B. "Main Form by Tim Corey"), verbessert die Klarheit und Organisation innerhalb der Visual Studio-Umgebung. Darüber hinaus müssen die Schriftgröße (in der Regel 14-18 Punkt) und die Größe des Formulars (Breite und Höhe) so gewählt werden, dass die Lesbarkeit gewährleistet ist, ohne dass das Layout anderer Steuerelemente beeinträchtigt wird.

Verwaltung von Steuerelementeigenschaften

Corey weist auf die Fallstricke von Standardsteuereigenschaften hin, wenn formularweite Einstellungen nach dem Hinzufügen von Steuerelementen geändert werden. Dann fügt er dem Formular ein Etikett, ein Textfeld und eine Schaltfläche hinzu und zeigt, dass es automatisch die für das Formular gewählte Schriftgröße übernimmt. Er demonstriert, wie sich die Änderung der Schriftgröße auf alle Steuerelemente auswirkt, und fordert die Entwickler auf, diese Einstellungen frühzeitig festzulegen, um spätere unbeabsichtigte Layoutänderungen zu vermeiden. Wenn Sie die Eigenschaftswerte für jedes Steuerelement ändern, werden nicht die Standardwerte des Formulars übernommen (1:06:33).

Benennungskonventionen für Steuerelemente

Eine der wichtigsten Erkenntnisse aus Tims Video ist die Verwendung sinnvoller Benennungskonventionen für Steuerelemente. Anstelle des traditionellen "lblFirstName" oder "txtFirstName" empfiehlt Corey die Verwendung von camelCase für Variablen (firstNameLabel, firstNameTextBox) und die Postfixierung des Kontrollnamens am Ende.

Ereignisbehandlung und Namenskonventionen

Eine bemerkenswerte Praxis, die Tim befürwortet, ist die einheitliche Benennung von Steuerelementen und die Behandlung von Ereignissen. Indem sie Steuerelemente (sayHelloButton, firstNameTextBox) von Anfang an intuitiv benennen, rationalisieren Entwickler die Ereignisbehandlung. Dieser Ansatz verhindert Verwirrung bei der Handhabung mehrerer Ereignisse in verschiedenen Formularen und verbessert die Wartbarkeit.

Er veranschaulicht dies, indem er den Unterschied zwischen einer angemessenen Benennung der Schaltflächen im Gegensatz zu einer Standardbenennung wie Schaltfläche1, Schaltfläche2 usw. aufzeigt. Dieser Ansatz entspricht modernen Codierungspraktiken, ermöglicht eine schnelle Suche und verbessert die Lesbarkeit, so dass der Zweck der einzelnen Steuerelemente auf einen Blick erkennbar ist.

Implementierung von Tabulatorreihenfolge und Barrierefreiheit

Ein weiterer wichtiger Aspekt, der behandelt wird, ist die Festlegung der Tabulatorreihenfolge für Steuerelemente. Tim erklärt, wie man die TabIndex Eigenschaft verwendet, um sicherzustellen, dass Benutzer die Formulare logisch mit der Tabulatortaste navigieren können. Dies erhöht nicht nur die Benutzerfreundlichkeit, sondern verbessert auch die Zugänglichkeit für Benutzer, die auf die Tastaturnavigation angewiesen sind.

Datenübergabe zwischen Formularen

Tim geht auf die Möglichkeiten von WinForms ein und spricht über die Weitergabe von Daten zwischen mehreren Formularen. Er demonstriert, wie man Konstruktoren in Formularen definiert, um den Datenaustausch zu erleichtern. Diese Technik ermöglicht es Entwicklern, neue Formulare mit bestimmten Daten zu initialisieren, was die Flexibilität bei der Anwendungsgestaltung erhöht.

Abschluss

Tim Coreys Tutorial zu Windows Forms in .NET 6 ist eine wertvolle Ressource für alle, die die Entwicklung von Desktop-Anwendungen mit C# erlernen möchten. Das Video deckt ein breites Spektrum an Themen ab, von der grundlegenden Einrichtung bis hin zu fortgeschrittenen Steuerelementen und Best Practices, und bietet eine solide Grundlage für die Erstellung professioneller Windows Forms C#-Anwendungen.

Eine ausführliche Anleitung mit mehr Kontext und zusätzlichen praktischen Programmierbeispielen können Sie sich in Tim Coreys vollständigem Video-Tutorial hier ansehen.

Hero Worlddot related to Erstellen einer C#-Anwendung
Hero Affiliate related to Erstellen einer C#-Anwendung

Verdienen Sie mehr, indem Sie teilen, was Sie lieben

Erstellen Sie Inhalte für Entwickler, die mit .NET, C#, Java, Python oder Node.js arbeiten? Verwandeln Sie Ihr Fachwissen in ein zusätzliches Einkommen!

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an