Microsoft Visual C# -...
Transcript of Microsoft Visual C# -...
M icrosoft
Visual C#.NETVisual C#.NETVisual C#.NETVisual C#.NETfürW indow s NT/2000/XP
Grundlagen Program m ierung
VCSPNET00-0-07-70-01
Autor: Karl-HeinzW achler
Inhaltliches Lektorat: Dirk Frischalow ski
1. Auflage: Oktober (181002)
by HERDT-Verlag, Nackenheim (Germ any)
Internet: w w w .herdt.com
Alle Rechte vorbehalten. Kein Teildes W erkes darf inirgendeiner Form (Druck, Fotokopie, M icrofilm odereinem anderen Verfahren) ohne schriftliche Genehm i-gung des Herausgebers reproduziert oder unter Verw en-dung elektronischer System e verarbeitet, vervielfältigtoder verbreitet w erden.
Diese Unterlage w urde m it großer Sorgfalt erstellt undgeprüft. Trotzdem können Fehler nicht vollkom m enausgeschlossen w erden. Verlag, Herausgeber undAutoren können für fehlerhafte Angaben und derenFolgen w eder eine juristische Verantw ortung nochirgendeine Haftung übernehm en.
Diese Unterlage ist auf chlorfrei gebleichtem Papiergedruckt.
INHALTSVERZEICHNIS C#.NET - Grundlagen Programmierung
1 Einführung ..................................................... 61.1 Was Sie wissen sollten.....................................61.2 Visual Studio.NET und die .NET-Technologie ...71.3 Was ist Visual C#.NET? ...................................91.4 Installation ......................................................10
2 Arbeiten mit der Entwicklungs-umgebung .................................................... 122.1 Aufgaben einer Entwicklungsumgebung.........122.2 Starten der Entwicklungsumgebung ...............122.3 Die Arbeitsumgebung .....................................14
2.3.1 Projektmappen-Explorer.........................142.3.2 Windows Forms Designer ......................152.3.3 Toolbox ..................................................152.3.4 Eigenschaften-Fenster ...........................162.3.5 Menü- und Symbolleisten.......................16
2.4 Weitere Fenster der Entwicklungs-umgebung ......................................................172.4.1 Allgemeines zur Fensterverwaltung........172.4.2 Code-Fenster bzw. Code-Editor .............182.4.3 Webbrowser...........................................192.4.4 Klassenansicht.......................................192.4.5 Ressourcenansicht.................................202.4.6 Server-Explorer ......................................202.4.7 Makro-Explorer.......................................202.4.8 Objektbrowser........................................202.4.9 Dokumentgliederung ..............................212.4.10 Anstehende Eincheckvorgänge..............212.4.11 Aufgabenliste .........................................222.4.12 Befehlsfenster ........................................222.4.13 Ausgabefenster......................................232.4.14 Fenster für Suchergebnisse ...................232.4.15 Favoriten................................................242.4.16 Dynamische Hilfe ...................................24
2.5 Anpassen der Entwicklungsumgebung...........252.6 Beenden der Entwicklungsumgebung ............262.7 Schnellübersicht .............................................272.8 Übung.............................................................27
3 Grundlagen der Programmentwicklung.... 283.1 Mit Projekten arbeiten.....................................28
3.1.1 Ein neues Projekt erstellen.....................283.1.2 Ein Projekt speichern .............................293.1.3 Ein Projekt öffnen...................................293.1.4 Elemente bzw. Dateien hinzufügen,
speichern und löschen ...........................293.1.5 Projekte zur Projektmappe hinzufügen...303.1.6 Startobjekt festlegen oder ändern...........303.1.7 Aufbau einer Visual C#.NET-
Anwendung ............................................303.2 Mit Visual C#.NET programmieren .................31
3.2.1 Konsolenanwendungen mit Hilfevon Visual Studio.NET erstellen .............31
3.2.2 Eingabeanweisungen für die Konsole ....323.2.3 Ausgabeanweisungen für die Konsole....323.2.4 Konsolenanwendungen mit Editor
und Compiler erstellen ...........................333.2.5 Die ereignisgesteuerte
Programmierung ....................................343.2.6 Vorgehensweise bei der Erstellung
von Windows-Anwendungen ..................353.2.7 Tipps zum Erstellen von
Benutzeroberflächen ..............................363.3 Die Steuerelemente der Toolbox ....................37
3.3.1 Überblick über die Steuerelemente ........373.3.2 Steuerelemente hinzufügen....................39
3.3.3 Eigenschaften festlegen......................... 403.3.4 Ereignisse verwenden............................ 41
3.4 Schnellübersicht.............................................413.5 Übung ............................................................42
4 Programmierhilfen verwenden ...................444.1 Grundlagen ....................................................444.2 Wortvervollständigung....................................454.3 Die Auswahl der Elemente von Klassen
bzw. Objekten ................................................454.3.1 Die Navigationsleiste ............................. 454.3.2 Die Memberliste..................................... 464.3.3 Verfügbare Ereignisse anzeigen ............ 47
4.4 Parameterinfo für Methoden...........................474.5 Tipps zur Bearbeitung von Codezeilen...........48
4.5.1 Lesezeichen verwenden ........................ 484.5.2 Programmzeilen auskommentieren........ 484.5.3 QuickInfo anzeigen ................................ 494.5.4 Einzug verändern................................... 49
4.6 Formulare gestalten .......................................504.6.1 Komponenten in den Hinter-/
Vordergrund setzen ............................... 504.6.2 Komponenten auf dem Formular
positionieren .......................................... 504.6.3 Steuerelemente oder gesamtes
Formular sperren ................................... 524.6.4 Komponenten farbig gestalten ............... 52
4.7 Schnellübersicht.............................................524.8 Übung ............................................................53
5 Sprachgrundlagen von Visual C#.NET ......565.1 Einführung......................................................56
5.1.1 Programmaufbau................................... 565.1.2 Reservierte Wörter................................. 575.1.3 Bezeichner ............................................ 585.1.4 Compiler-Direktiven ............................... 585.1.5 Kommentare .......................................... 595.1.6 Anweisungen und Anweisungsblöcke .... 605.1.7 Ausdrücke ............................................. 60
5.2 Variablen, Konstanten und Datentypen -Überblick ........................................................61
5.3 Variablen ........................................................615.4 Konstanten .....................................................635.5 Schnellübersicht.............................................645.6 Übung ............................................................65
6 Datentypen und Operatoren........................666.1 Standarddatentypen .......................................66
6.1.1 Wert- und Verweistypen........................ 666.1.2 Numerische Datentypen ........................ 676.1.3 Zeichen-Datentypen .............................. 686.1.4 Der Datentyp DateTime........................ 706.1.5 Formatierung von Zeichenketten
und Datumswerten................................. 716.1.6 Boolesche Datentypen........................... 746.1.7 Der Datentyp object............................ 746.1.8 Typumwandlungen ................................ 75
6.2 Operatoren .....................................................756.3 Schnellübersicht.............................................816.4 Übung ............................................................81
7 Kontrollstrukturen........................................847.1 Grundlegende Darstellungsmöglichkeiten ......847.2 Ausdrücke mit Bedingungen formulieren........86
Inhaltsverzeichnis I7.3 Die Auswahl (Alternative) ............................... 86
7.3.1 Einseitige Auswahl................................. 877.3.2 Zweiseitige Auswahl .............................. 887.3.3 Mehrstufige Auswahl.............................. 897.3.4 Mehrseitige Auswahl (Fallauswahl) ........ 90
7.4 Die Wiederholung (Iteration) .......................... 927.4.1 Die zählergesteuerte Wiederholung ....... 937.4.2 Die bedingte Wiederholung.................... 94
7.5 Weitere Kontrollstrukturen.............................. 967.5.1 Die foreach-Schleife............................ 967.5.2 Schleifensteuerung mit break und
continue ............................................. 967.5.3 Sprunganweisung mit goto ................... 97
7.6 Schnellübersicht............................................. 987.7 Übung ............................................................ 99
8 Methoden.................................................... 1028.1 Grundlagen .................................................. 1028.2 Methoden ohne Rückgabewert .................... 103
8.2.1 Methoden ohne Parameterübergabe.... 1038.2.2 Methoden mit Wertübergabe................ 1058.2.3 Methoden mit Variablenübergabe ........ 107
8.3 Methoden mit Rückgabewert........................ 1088.4 Ausgabeparameter....................................... 1108.5 Parameterarrays .......................................... 1108.6 Vordefinierte Methoden................................ 1118.7 Methoden überladen .................................... 1128.8 Rekursion..................................................... 1148.9 Lokale Variablen ansprechen....................... 1158.10 Übung .......................................................... 116
9 Komplexe Datentypen............................... 1189.1 Aufzählungen ............................................... 1189.2 Arrays .......................................................... 1199.3 Arraylisten.................................................... 1249.4 Warteschlangen ........................................... 1259.5 Stapel........................................................... 1269.6 Hashtable ................................................. 1279.7 Strukturen .................................................... 1289.8 Übung .......................................................... 131
10 Klassen und Objekte ................................. 13410.1 Grundlagen der objektorientierten
Programmierung .......................................... 13410.2 Klassen und Instanzen................................. 13510.3 Eigenschaften .............................................. 13810.4 Indexer......................................................... 14010.5 Garbage Collection ...................................... 14210.6 Konstruktoren und Destruktoren .................. 143
10.6.1 Konstruktoren ...................................... 14410.6.2 Destruktoren ........................................ 145
10.7 Statische Member ........................................ 14710.8 Namensräume ............................................. 14910.9 Frühe und späte Bindung............................. 15010.10 Übung ......................................................... 151
11 Vererbung................................................... 15411.1 Grundlagen .................................................. 15411.2 Klassenhierarchien....................................... 15611.3 Objektreferenzierung mit this und base .... 15711.4 Strukturen und Klassen................................ 15911.5 Übung .......................................................... 159
12 Polymorphismus ....................................... 16212.1 Einleitung..................................................... 16212.2 Member verbergen....................................... 16312.3 Member überschreiben ................................ 16512.4 Member überladen....................................... 16712.5 Abstrakte Klassen und Methoden ................ 16912.6 Typprüfung und -konvertierung .................... 17212.7 Überladen von Operatoren........................... 17512.8 Übung .......................................................... 177
13 Schnittstellen............................................. 18013.1 Einführung ................................................... 18013.2 Schnittstellen deklarieren............................. 18113.3 Schnittstellen implementieren ...................... 18113.4 Schnittstellenmember verbergen ................. 18313.5 Typprüfung und -konvertierung .................... 18513.6 Übung .......................................................... 186
14 Ereignisse und Delegaten ........................ 18814.1 Delegaten .................................................... 18814.2 Ereignisse.................................................... 191
14.2.1 Ereignisse deklarieren ..........................19214.2.2 Ereignisse auslösen .............................19214.2.3 Ereignisse mit Ereignismethoden
verknüpfen ...........................................19214.3 Übung .......................................................... 196
15 Fehlerbehandlung und Fehlersuche ....... 19815.1 Fehlerbehandlung........................................ 198
15.1.1 Fehlerarten...........................................19815.1.2 Strukturierte Fehlerbehandlung ............20015.1.3 Eigene Ausnahmen erzeugen...............202
15.2 Fehlersuche und -beseitigung...................... 20415.2.1 Voraussetzungen und Einstellungen.....20415.2.2 Programm schrittweise ausführen ........20515.2.3 Programm anhalten..............................20615.2.4 Haltepunkte ..........................................20615.2.5 Werte anzeigen und überwachen .........20715.2.6 Die Klassen Debug und Trace
einsetzen..............................................20815.3 Übung .......................................................... 212
16 Datei- und Laufwerkszugriffe................... 21416.1 Grundlagen der Dateibearbeitung................ 21416.2 Dateizugriff über die Klassen des
.NET Framework.......................................... 21416.2.1 Zugriff auf Textdateien..........................21516.2.2 Zugriff auf binäre Daten........................21816.2.3 Serialisierung........................................22016.2.4 Laufwerke und Verzeichnisse
verwalten..............................................22216.3 Ausnahmebehandlung bei Dateizugriffen .... 22316.4 Übung .......................................................... 225
17 Anwendungen weitergeben...................... 22817.1 Voraussetzungen......................................... 22817.2 Weitergeben durch Kopieren ....................... 22817.3 Weitergeben mit Hilfe eines Setup-Projekts ... 22917.4 Weitergeben als CAB-Archiv........................ 23017.5 Anwendungen vorcompilieren...................... 23117.6 Übung .......................................................... 231
Stichwortverzeichnis...................................... 232
4 C#.NET - Grundlagen Programmierung
44
4 Programmierhilfen verwenden
In diesem Kapitel erfahren Sie
wie Sie die Wortvervollständigung und die Navigationsleiste einsetzen
wie Sie eine Argumentliste für Methoden anzeigen
wie Sie sich die Eingabe der Codezeilen erleichtern
wie Sie mit dem Objektbrowser arbeiten
wie Sie Formulare optisch aufwerten
Voraussetzungen
Grundkenntnisse im Umgang mit Visual Studio.NET
4.1 Grundlagen
In der folgenden Tabelle werden einige Begriffe erläutert, die zum besseren Verständnis notwendig sind. Eineausführliche Erläuterung erfolgt später in den Kapiteln zur Syntax der Programmiersprache Visual C#.NET.
Begriff Bedeutung
Klasse Der Bauplan bzw. die Definition eines Objekts
Objekt Das gemäß einer Klassendefinition erzeugte konkrete Datenobjekt
Methode Ein Unterprogramm innerhalb einer Klasse. Methoden gehören zusammen mit Feldern, Eigen-schaften und Ereignissen zu den Elementen (auch Member genannt) einer Klasse.
Parameter Eine Variable oder Konstante, die in Klammern hinter dem Namen einer Methode steht undvon ihr übernommen wird
Konstante Repräsentiert einen festen, vorgegebenen Wert
Variable Enthält einen veränderbaren Wert
Falls die Symbolleiste TEXT-EDITOR noch nichtvorhanden ist, blenden Sie diese über den Menü-punkt ANSICHT - SYMBOLLEISTEN ein, um dienachfolgend beschriebenen Programmierhilfen auchüber die jeweiligen Symbole aktivieren zu können.
Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen, die Ihnen die Suche nachder Syntax und die Navigation im Quellcode wesentlich erleichtern:
Wortvervollständigung
Automatische Formatierung von Anweisungsblöcken
Navigationsleiste
Anzeige der Elemente eines Objekts bzw. einer Klasse (Memberliste)
Anzeige der Parameterliste von Methoden
Diese Eingabehilfen werden nachfolgend dargestellt.
Programmierhilfen verwenden 4
45
4.2 Wortvervollständigung
Bei der Eingabe von Namen für Klassen, Eigenschaften, Methoden etc. steht Ihnen die Vervollständigung vonWörtern zur Verfügung. Unvollständig geschriebene Ausdrücke werden vom Editor ergänzt.
Geben Sie einen Teil der Anweisung in die Code-zeile ein.
Rufen Sie den Menüpunkt BEARBEITEN -INTELLISENSE - WORT VERVOLLSTÄNDIGEN auf.
Alternativen: oder ALT
aVWd Klicken Sie mit der rechten Maustaste auf dasunvollständige Wort, und rufen Sie den Kontextme-nüpunkt WORT VERVOLLSTÄNDIGEN auf.
Um ein Wort aus der Liste zu übernehmen, klicken Sie im eingeblendeten Listenfeld doppelt aufden von Ihnen gewünschten Ausdruck.
Alternative: Ausdruck markieren und die Taste oder RETURN betätigen
Das Listenfeld wird nach der Übernahme eines Wortes automatisch ausgeblendet. Mit der Taste ESC
können Sie das Feld ausblenden, wenn Sie nichts übernehmen wollen.
Die im Listenfeld angebotenen Elemente richten sich nach dem Kontext. Es werden also z. B. an einerStelle vorwiegend Namensräume und Klassen, und an anderer Stelle vor allem Methoden und Eigen-schaften zur Auswahl angeboten.
Je mehr Buchstaben Sie eingegeben haben, desto genauer sind die Vorschläge.
4.3 Die Auswahl der Elemente von Klassen bzw. Objekten
4.3.1 Die Navigationsleiste
Das Code-Fenster enthält im oberen Teilzwei Kombinationsfelder. Das linke Feld bietet eine Typ-Auswahl an. Im rechtenFeld können Sie die so genanntenMember des ausgewählten Typs sehenund bei Bedarf auswählen. Der Editor zeigtdie ausgewählten Member im Code an undsetzt die Einfügemarke an die entspre-chende Stelle.
Notizen
1 2
4 C#.NET - Grundlagen Programmierung
46
4.3.2 Die Memberliste
Wenn Sie Felder, Eigenschaften, Methoden oder Ereignisse einer Komponente ermitteln und verwendenwollen, bietet Ihnen die Entwicklungsumgebung eine Auflistung dieser so genannten Member an.
Setzen Sie den Cursor auf den Namen des Steuer-elements, oder schreiben Sie den Namen des Steuer-elements im Editors innerhalb einer Methode.
Setzen Sie einen Punkt an das Ende des Namens. DieMemberliste öffnet sich normalerweise automatisch. An-dernfalls betätigen Sie die Tastenkombination STRG J .
aVWd Wählen Sie den Menüpunkt BEARBEITEN -INTELLISENSE - MEMBER AUFLISTEN.
In einem Fenster werden Ihnen alle für diese Komponente zur Verfügung stehenden Eigenschaften, Methodenund Ereignisse usw. aufgelistet. Diese Member sind mit den bereits beim Objektbrowser vorgestelltenSymbolen gekennzeichnet. Wenn Sie ein Element der Liste verwenden wollen, gehen Sie folgendermaßen vor:
Wählen Sie den gewünschten Ausdruck mit einem Doppelklick aus.
aVWd Markieren Sie den Ausdruck, und betätigen Sie die -Taste.
aVWd Übernehmen Sie den Ausdruck mit der RETURN -Taste.
Die Memberliste nachträglich einblenden
Haben Sie bereits einen Ausdruck in der Anweisung eingetragen, können Sie ihn durch Einblenden einer Listeder entsprechenden Eigenschaften oder Methoden verändern.
Markieren Sie die Eigenschaft, die Methode oder das Ereignis.
Rufen Sie den Menüpunkt BEARBEITEN - INTELLISENSE - MEMBER AUFLISTEN auf.
Alternativen: oder STRG J oder der Punkt MEMBER AUFLISTEN im Kontextmenü
Wählen Sie den gewünschten Eintrag mit einem Doppelklick.
aVWd Markieren Sie den Eintrag, und betätigen Sie die Tasten oder RETURN .
Auf die gleiche Art können Sie sich auch die verfügbaren Konstanten anzeigen lassen:
Schreiben Sie hinter die entsprechende Konstante einenPunkt.
Rufen Sie den Menüpunkt BEARBEITEN - INTELLISENSE -MEMBER AUFLISTEN auf.
Alternativen: oder STRG J oder das Kontextmenü
Übernehmen Sie die gewünschte Konstante wie obenbeschrieben.
Programmierhilfen verwenden 4
47
4.3.3 Verfügbare Ereignisse anzeigen
Um alle für eine bestimmte Komponente zur Auswahl stehenden Ereignisseanzuzeigen, gehen Sie folgendermaßen vor:
Markieren Sie die gewünschte Komponente, und aktivieren Siedas Eigenschaftenfenster mit der Taste F4 .
Klicken Sie in der Symbolleiste des Eigenschaftenfensters aufdas Symbol .
Wählen Sie das Ereignis aus der Ereignisliste aus, bei dessenEintritt Ihre Methode gestartet werden soll.
Mit dem Pfeil können Sie eine verfügbare Ereignismethodeauswählen. Wenn Sie eine neue Ereignismethode erzeugenwollen, klicken Sie doppelt in das entsprechende Feld. Darauf-hin wird in den Quellcode, der sich auf das ausgewählteEreignis bezieht, automatisch ein Methodengerüst eingefügt.
Die Steuerelemente besitzen in der Regel ein Standardereignis, ein Button-Steuerelement besitztbeispielsweise das Ereignis Click. Das Gerüst einer Methode für dieses Ereignis wird im Quellcodeautomatisch erzeugt, wenn Sie im Designer doppelt auf das entsprechende Steuerelement klicken.
Wenn Sie versehentlich ein nicht benötigtes Methodengerüst erzeugt haben, können Sie es ohneBedenken stehen lassen. Wenn Sie das Methodengerüst jedoch aus dem Quelltext löschen, kommt esbeim Übersetzen zu einer Fehlermeldung. Um diesen Fehler zu beseitigen, muss auch noch eine Zeileentfernt werden, die den so genannten Ereignishandler für das entsprechende Ereignis enthält. Siefinden diese Zeile, indem Sie im Fenster AUFGABENLISTE doppelt auf die Fehlermeldung klicken.
Um die Gerüste der Ereignismethoden nach Ihren Vorstellungen zu vervollständigen, brauchen Sie diein den nächsten Kapiteln vermittelten Kenntnisse der Programmiersprache Visual C#.NET.
4.4 Parameterinfo für Methoden
Haben Sie den Namen einer Methode eingegeben,müssen Sie noch die Argumente, die der Methode über-geben werden, in Klammern eintragen.
Geben Sie nach dem Methodennamen eine sich öffnende Klammer ein.
Daraufhin wird automatisch eine Liste aller erforderlichen und optionalen Argumente einge-blendet, wobei das aktuell zu schreibende Argument fett dargestellt ist.
Falls die Methode es anbietet, wählen Sie mit Hilfe der beiden Pfeile oder mit Hilfe derTasten und die für Ihre Zwecke geeignete Form der Parameterübergabe.
Tragen Sie das erste Argument ein, und setzen Sie ein Komma dahinter.
Das nächste Argument im Infofenster wird fett dargestellt.
Nachdem Sie alle notwendigen Argumente eingetragen haben, geben Sie abschließend einesich schließende Klammer ein.
Die Liste wird wieder ausgeblendet.
Sie können die Parameterinfo auch zur Information über die Parameter bereits vorhandener Methoden verwen-den.
Positionieren Sie den Cursor in dem Parameter, über den Sie sich informieren wollen.
Rufen Sie den Menüpunkt BEARBEITEN - INTELLISENSE - PARAMETERINFO auf.
Alternativen: oder STRG UMSCHALTEN LEERTASTE
4 C#.NET - Grundlagen Programmierung
48
4.5 Tipps zur Bearbeitung von Codezeilen
4.5.1 Lesezeichen verwenden
Sie haben die Möglichkeit, an jeder beliebigen Stelle des Programms ein Lesezeichen zu setzen. Dadurch wirddas Auffinden bestimmter Programmzeilen wesentlich erleichtert.
Lesezeichen setzen
Setzen Sie den Cursor in die Zeile, in derSie ein Lesezeichen setzen möchten.
Rufen Sie den Menüpunkt BEARBEITEN -TEXTMARKEN - LESEZEICHEN UM-SCHALTEN auf.
Alternativen: oder STRG K STRG K
Die betreffende Zeile wird durch ein hell-blaues Rechteck am linken Rand markiert.
Zwischen Lesezeichen wechseln
Haben Sie mehrere Lesezeichen gesetzt, können Sie zum nächsten bzw. vorherigen Lesezeichen wechseln.
Wählen Sie den Menüpunkt BEARBEITEN - TEXTMARKEN - NÄCHSTES LESEZEICHEN.
Alternativen: oder STRG K STRG N
aVWd Wählen Sie den Menüpunkt BEARBEITEN - TEXTMARKEN - VORHERIGES LESEZEICHEN.
Alternativen: oder STRG K STRG P
Lesezeichen löschen
Setzen Sie den Cursor in die Zeile, in der Sie das gesetzte Lesezeichen löschen wollen.
Rufen Sie den Menüpunkt BEARBEITEN - TEXTMARKEN - LESEZEICHEN UMSCHALTEN auf.
Alternativen: oder STRG K STRG K
aVWd Wählen Sie den Menüpunkt BEARBEITEN - TEXTMARKEN - LESEZEICHEN LÖSCHEN.
Alternative: oder STRG K STRG L
4.5.2 Programmzeilen auskommentieren
Um mehrere aufeinanderfolgende Programmzeilen auszukommentieren, brauchen Sie nicht vor jede Zeileeinzeln das Kommentarzeichen // zu setzen.
Markieren Sie die entsprechenden Zeilen.
Klicken Sie auf das Symbol , um den gesamten Block auszukommentieren.
aVWd Wählen Sie den Menüpunkt BEARBEITEN - ERWEITERT - AUSWAHL KOMMENTIEREN.
Sie können die Auskommentierung des Blockes jederzeit wieder aufheben.
Markieren Sie die entsprechenden Zeilen.
Klicken Sie auf das Symbol .
aVWd Wählen Sie den Menüpunkt BEARBEITEN - ERWEITERT - AUSWAHLKOMMENTARLÖSCHEN.
Programmierhilfen verwenden 4
49
4.5.3 QuickInfo anzeigen
Sie haben die Möglichkeit, sich über die QuickInfo den Datentyp einer Variablen anzeigen zu lassen. Dies istinsbesondere bei umfangreicheren Programmen von Vorteil, da Sie nicht jedes Mal zum Deklarationsteilwechseln müssen.
Setzen Sie den Cursor in die Variable, deren Datentyp Sie anzeigenlassen wollen.
Rufen Sie den Menüpunkt BEARBEITEN - INTELLISENSE - QUICKINFO auf.
Alternativen: oder STRG K STRG I
Zu Methoden erhalten Sie ebenfalls Informationen. Diese Informationen werden auch angezeigt, wenn Siesich mit dem Mauszeiger über der entsprechenden Variablen oder Methode befinden.
4.5.4 Einzug verändern
Um den Programmtext übersichtlicher zu gestalten, empfiehlt es sich, mit Einzügen zu arbeiten.
Setzen Sie den Cursor in die betreffende Codezeile.
Wählen Sie den Menüpunkt BEARBEITEN - ERWEITERT - ZEILENEINZUG VERGRÖSSERN.
Alternative:
aVWd Wählen Sie den Menüpunkt BEARBEITEN - ERWEITERT - ZEILENEINZUG VERKLEINERN.
Alternative:
Standardmäßig ist der so genannte intelligente Einzug aktiviert, das heißt, die entsprechend untergeordnetenZeilen werden automatisch um 2 Stellen nach rechts gerückt, wenn ein Codeblock vollständig und fehlerfreieingegeben wurde. Dabei ist es wichtig, dass die den Codeblock abschließende geschweifte Klammer zuletzteingegeben wird. Wenn Sie dies Verhalten verändern oder abstellen wollen, wählen Sie den MenüpunktEXTRAS - OPTIONEN aus. Im folgenden Dialog wählen Sie in der Verzeichnisstruktur TEXTEDITOR - C# -TABSTOPPS bzw. FORMATIERUNG aus. Nun können Sie die Einzugsbreite verändern oder die automatischeFormatierung abstellen, indem Sie im Eingabefeld EINZUGSGRÖSSE einen anderen Wert eintragen bzw. dasOptionsfeld EINZUG auf KEINER stellen.
Notizen
4 C#.NET - Grundlagen Programmierung
50
4.6 Formulare gestalten
Die Entwicklungsumgebung bietet Ihnen eine Reihe von Erleichterungen, mit deren Hilfe Sie Komponentenbzw. Steuerelemente schnell auf einem Formular positionieren und anpassen können.
Falls diese noch nicht vorhanden ist, blenden Sie die Symbolleiste LAYOUT ein, um die nachfolgend beschriebe-nen Programmierhilfen auch über die jeweiligen Symbole aktivieren zu können.
4.6.1 Komponenten in den Hinter-/Vordergrund setzen
Wenn sich verschiedene Komponenten auf einem Formular überlappen bzw. verdecken, können Sie eine Dar-stellungsreihenfolge bestimmen, indem Sie bestimmte Komponenten in den Vordergrund bzw. in den Hinter-grund rücken.
Markieren Sie die entsprechende Komponente.
Rufen Sie den Menüpunkt FORMAT - REIHENFOLGE - IN DEN VORDERGRUND auf.
Alternative:
aVWd Rufen Sie den Menüpunkt FORMAT - REIHENFOLGE - IN DEN HINTERGRUND auf.
Alternative:
4.6.2 Komponenten auf dem Formular positionieren
Markieren Sie die Objekte, indem Sie diese bei gedrückter STRG -Taste nacheinander an-klicken.
Wählen Sie eine der folgenden Aktionen, um die Objekte auf dem Formular auszurichten.
Die Anpassungen orientieren sich am zuletzt ausgewählten Objekt.
Sie möchten markierte Objekte...
ausrichten Rufen Sie den Menüpunkt FORMAT - AUS-RICHTEN auf, und wählen Sie den gewünsch-ten Untermenüpunkt aus.
Alternative: die entsprechenden Symbole aufder Symbolleiste LAYOUT
horizontal odervertikal zentrieren
Rufen Sie den Menüpunkt FORMAT - AUFFORMULAR ZENTRIEREN - HORIZONTAL bzw.VERTIKAL auf.
Alternative: die entsprechenden Symbole derSymbolleiste LAYOUT
in der Größeanpassen
Rufen Sie den Menüpunkt FORMAT - GRÖSSEANGLEICHEN auf, und wählen Sie den ge-wünschten Untermenüpunkt aus.
Alternative: Die Symbole HÖHE/BREITE derSymbolleiste LAYOUT
Programmierhilfen verwenden 4
51
horizontal odervertikal anpassen
Rufen Sie den Menüpunkt FORMAT - HORI-ZONTALER ABSTAND bzw. VERTIKALERABSTAND auf, und wählen Sie den gewünsch-ten Untermenüpunkt aus.
Alternative: die entsprechenden Symbole aufder Symbolleiste LAYOUT
Beispiel
Sie möchten einen Rahmen mit drei Befehlsschaltflächen darstellen und diese in Position und Größe an-gleichen (vgl. Abbildung).
Platzieren Sie eine GroupBox-Komponente auf dem Formularund darauf drei Schaltflächen.
Markieren Sie die drei Schalt-flächen. Hier wurde button2zuletzt markiert, d. h. die Ent-wicklungsumgebung orientiertsich an diesem Objekt.
Rufen Sie den MenüpunktFORMAT - AUSRICHTEN -LINKS auf.
Wählen Sie den Menüpunkt FORMAT - GRÖSSE ANGLEICHEN - BEIDES.
Klicken Sie den Menüpunkt FORMAT - VERTIKALER ABSTAND - VERKLEINERN an.
Wählen Sie den Menüpunkt FORMAT - VERTIKALER ABSTAND - ANGLEICHEN.
Komponenten am Raster ausrichten
Standardmäßig werden alle Objekte auf einem Formular in Bezug aufPosition und Größe am Raster ausgerichtet. Diese Voreinstellung könnenSie ausschalten, indem Sie unter dem Menüpunkt EXTRAS - OPTIONENunter WINDOWS FORMS DESIGNER - ALLGEMEIN die Eigenschaft SnapToGriddeaktivieren. Über die Eigenschaften Width und Height haben Sie dieMöglichkeit, die Einstellung der Rastereinheiten zu verändern. Wenn Siedie Eigenschaft ShowGrid deaktivieren, wird das Raster ausgeblendet.
Die beschriebenen Einstellungen über den Menüpunkt EXTRAS - OPTIONEN wirken sich nicht auf ein bereitsgeöffnetes Projekt aus, sondern auf alle mit diesen Einstellungen neu angelegten Projekte. Um die Raster-einstellungen eines aktuellen Projekts zu ändern, setzen Sie die gleichnamigen Eigenschaften des Formularsmit Hilfe des Eigenschaftenfensters auf die entsprechenden Werte.
Manuelle Positionierung Formatierte Positionierung
Notizen
4 C#.NET - Grundlagen Programmierung
52
Haben Sie die automatische Ausrichtung am Raster deaktiviert, können Sie trotzdem Objekte am Rasterausrichten.
Rufen Sie dazu den Menüpunkt FORMAT - GRÖSSE ANGLEICHEN - GRÖSSE AN RASTERANPASSEN auf.
4.6.3 Steuerelemente oder gesamtes Formular sperren
Um zu verhindern, dass Steuerelemente versehentlich verschoben werden, können Sie diese sperren. Sie sinddann an ihrer aktuellen Position auf dem Formular fixiert.
Markieren Sie die entsprechende Komponente.
aVWd Markieren Sie das Formular, um alle Komponenten auf dem Formular zu sperren.
Rufen Sie den Menüpunkt FORMAT - STEUERELEMENTE SPERREN auf.
Um die Sperrung wieder aufzuheben, wiederholen Sie diese Schritte. Beim Sperren und Entsperren einerKomponente wird deren Eigenschaft Locked auf den Wert True bzw. False gesetzt. Deshalb können Sie dasSperren bzw. Entsperren von Komponenten auch über das Eigenschaftenfenster steuern.
4.6.4 Komponenten farbig gestalten
Um die Farbe einer Komponente zu gestalten, ändern Sie den Wert der entsprechenden Eigenschaft.
Markieren Sie die Komponente(n).
Wechseln Sie mit Hilfe der Taste F4 in das Eigenschaftenfenster.
Klicken Sie auf das Symbol der Eigenschaft BackColor, umdie Hintergrundfarbe zu ändern, bzw. auf das entsprechendeSymbol der Eigenschaft ForeColor, um die Schriftfarbe zuändern.
Wählen Sie z. B. das Register BENUTZERDEFINIERT ausKlicken Sie in der Farbpalette auf die gewünschte Farbe.
Sie können die Oberfläche einer Komponente auch mit Hilfe einer Grafikgestalten. Verwenden Sie dazu die Eigenschaft BackgroundImage, die Ihneneinen Dialog zur Auswahl eines Bildes bzw. einer Grafik bietet.
Sie können die Oberfläche der Komponenten mit Hilfe von GDI+ (Graphic Device Interface) gestalten, indemSie Bilder und Textelemente als graphische Objekte zeichnen und bearbeiten. Dazu werden verschiedene Stift-,Pinsel- und andere Zeichenklassen mit ihren entsprechenden Methoden angeboten.
4.7 Schnellübersicht
Sie möchten im Editor ... Lösung Alternative
Eigenschaften/Methodenanzeigen
BEARBEITEN - INTELLISENSE - MEMBER AUFLISTEN oderSTRG J
die QuickInfo anzeigen BEARBEITEN - INTELLISENSE - QUICKINFO oder STRG K
STRG I
die Parameterinfo anzeigen BEARBEITEN - INTELLISENSE - PARAMETERINFO oder STRG
UMSCHALTEN LEERTASTE
1
Programmierhilfen verwenden 4
53
ein Wort vervollständigen BEARBEITEN - INTELLISENSE - WORT VERVOLLSTÄNDIGENoder ALT
den Einzug vergrößern BEARBEITEN - ERWEITERT - ZEILENEINZUG VERGRÖSSERN
den Einzug verkleinern BEARBEITEN - ERWEITERT - ZEILENEINZUG VERKLEINERN
einen Blockauskommentieren
BEARBEITEN - ERWEITERT - AUSWAHL KOMMENTIERENoder STRG K - STRG C
die Auskommentierungeines Blockes aufheben
BEARBEITEN - ERWEITERT - AUSWAHLKOMMENTARLÖSCHEN oder STRG K - STRG U
ein Lesezeichen setzen/löschen
BEARBEITEN - TEXTMARKEN - LESEZEICHEN UMSCHALTENoder STRG K - STRG K
den Cursor zum nächstenLesezeichen setzen
BEARBEITEN - TEXTMARKEN - NÄCHSTES LESEZEICHENoder STRG K - STRG N
den Cursor zum vorherigenLesezeichen setzen
BEARBEITEN - TEXTMARKEN - VORHERIGES LESEZEICHENoder STRG K - STRG P
alle Lesezeichen löschen BEARBEITEN - TEXTMARKEN - LESEZEICHEN LÖSCHEN oderSTRG K - STRG L
4.8 Übung
Übung 1 - Erstellen einer Ereignismethode
Übungsdatei: Klick.sln Ergebnisdatei: Klick.exe
Erstellen Sie ein neues Projekt als Windows-Anwendung unterdem Namen =^[U].
Beim Klicken auf eine Schaltfläche soll in einer Textbox einfestgelegter Text erscheinen. Fügen Sie dem leeren Formular eineSchaltfläche und eine Textbox hinzu, und positionieren Sie beideSteuerelemente horizontal zentriert auf dem Formular.
Notizen
4 C#.NET - Grundlagen Programmierung
54
Vergeben Sie für die Objekte des Projektes folgende Eigenschaftswerte:
Komponente Eigenschaft Wert
• Form Text Klick-Fenster
Text [leer]• TextBox
Name txtAusgabe
Text Klick mich• Schaltfläche
Name cmdKlicken
Klicken Sie doppelt auf die Schaltfläche KLICK MICH. Der Editor wird daraufhin geöffnet, undder Cursor steht in der automatisch erzeugten Ereignismethode.
Schreiben Sie folgende Anweisung:txtAusgabe.Text = "Die Schaltfläche wurde betätigt."
Speichern Sie das Projekt, und führen Sie das Programm mit Hilfe der Taste F5 aus.
Starten Sie die erstellte Datei =^[U] WjW über den Windows Explorer.
Übung 2 - Steuerelemente und Eigenschaften
Übungsdatei: Klick.sln Ergebnisdatei: Klick.exe
Öffnen Sie das Projekt =^[U] e^` aus Übung 1.
Fügen Sie eine weitere Schaltfläche hinzu, über die das Programm beendet werden soll.
Komponente Eigenschaft Wert
Text Schließen• Schaltfläche
Name cmdSchliessen
Klicken Sie doppelt auf die neue Schaltfläche und schreiben Sie die Anweisung Close();oder Application.Exit(); in die entsprechende Ereignismethode.
Gestalten Sie die Anwendung farblich, indem Sie die Eigenschaft BackgroundColor derKomponenten verändern. Setzen Sie die Eigenschaft Visible der Schaltfläche cmdKlickenauf den Wert False, sodass diese Schaltfläche nicht sichtbar ist.
Verändern Sie die Eigenschaft Anchor der Schaltflächen so, dasssie in alle vier möglichen Richtungen verankert sind.
Starten Sie das Projekt und verändern Sie die Größe des Formularsmit der Maus und beobachten Sie, wie sich die Schaltflächen ver-halten. Testen Sie die Funktion der neuen Schaltfläche SCHLIESSEN.
Programmierhilfen verwenden 4
55
Notizen