Microsoft Visual C# -...

15
M icrosoft Visual C#.NET Visual C#.NET Visual C#.NET Visual C#.NET für W indow sNT/2000/XP G rundlagen Program m ierung VCSPN ET 00-0-07-70-01 A utor:Karl-H einz W achler InhaltlichesLektorat:D irk Frischalow ski 1.A uflage:O ktober(181002) by H ERD T-Verlag,N ackenheim (Germ any) Internet:w w w .herdt.com A lle Rechte vorbehalten. Kein Teil des W erkes darf in irgendeiner Form (D ruck, Fotokopie, M icrofilm oder einem anderen Verfahren) ohne schriftliche G enehm i- gung desH erausgebersreproduziertoder unterVerw en- dung elektronischer System e verarbeitet, vervielfältigt oderverbreitetw erden. D iese U nterlage w urde m it großer Sorgfalt erstellt und geprüft. Trotzdem können Fehler nicht vollkomm en ausgeschlossen w erden. Verlag, H erausgeber und A utoren können für fehlerhafte A ngaben und deren Folgen w eder eine juristische Verantw ortung noch irgendeine H aftung übernehm en. D iese U nterlage ist auf chlorfrei gebleichtem Papier gedruckt .

Transcript of Microsoft Visual C# -...

Page 1: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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.

Page 2: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 3: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 4: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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.

Page 5: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 6: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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.

Page 7: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 8: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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.

Page 9: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 10: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 11: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 12: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 13: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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

Page 14: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

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.

Page 15: Microsoft Visual C# - files.herdtdownloads.defiles.herdtdownloads.de/dnl/details/vcspnet-lese.pdf · Der Editor (Code-Fenster) von Visual C#.NET verfügt über folgende Eingabehilfen,

Programmierhilfen verwenden 4

55

Notizen