Einstieg in C# mit Visual Studio 2017 – Ideal für

Werbung
Auf einen Blick
Auf einen Blick
1
Einführung .............................................................................................
15
2
Grundlagen ............................................................................................
39
3
Fehlerbehandlung ............................................................................... 115
4
Erweiterte Grundlagen ...................................................................... 129
5
Objektorientierte Programmierung .............................................. 187
6
Wichtige Klassen in .NET ................................................................... 247
7
Weitere Elemente eines Windows-Programms ........................ 303
8
Datenbankanwendungen mit ADO.NET ...................................... 357
9
Internetanwendungen mit ASP.NET ............................................. 413
10
Zeichnen mit GDI+ .............................................................................. 439
11
Beispielprojekte ................................................................................... 455
12
Windows Presentation Foundation .............................................. 481
Inhalt
Inhalt
1
Einführung
15
1.1
Aufbau dieses Buchs ...................................................................................
15
1.2
Visual Studio 2017 .......................................................................................
16
1.3
Mein erstes Windows-Programm .........................................................
16
1.4
Visual Studio-Entwicklungsumgebung ..............................................
17
1.5
1.4.1
Ein neues Projekt ........................................................................
17
1.4.2
1.4.3
1.4.4
1.4.5
1.4.6
1.4.7
1.4.8
1.4.9
1.4.10
1.4.11
1.4.12
Einfügen von Steuerelementen .............................................
Arbeiten mit dem Eigenschaften-Fenster ..........................
Speichern eines Projekts ..........................................................
Das Codefenster ..........................................................................
Schreiben von Programmcode ...............................................
Kommentare ................................................................................
Starten, Ausführen und Beenden des Programms ..........
Ausführbares Programm ..........................................................
Schließen und Öffnen eines Projekts ...................................
Übung .............................................................................................
Empfehlungen für Zeilenumbrüche ....................................
19
20
23
23
26
27
28
29
29
30
30
Arbeiten mit Steuerelementen ..............................................................
31
1.5.1
1.5.2
1.5.3
1.5.4
1.5.5
1.5.6
31
32
33
36
36
37
Steuerelemente formatieren ..................................................
Steuerelemente kopieren ........................................................
Eigenschaften zur Laufzeit ändern .......................................
Vergabe und Verwendung von Namen ..............................
Verknüpfung von Texten, mehrzeilige Texte ....................
Eigenschaft BackColor, Farben allgemein ..........................
2
Grundlagen
39
2.1
Variablen und Datentypen .......................................................................
39
2.1.1
2.1.2
2.1.3
39
40
40
Namen, Werte .............................................................................
Deklarationen ..............................................................................
Datentypen ...................................................................................
5
Inhalt
Inhalt
2.1.4
2.1.5
2.1.6
2.2
2.3
Gültigkeitsbereich ......................................................................
Konstanten ...................................................................................
Enumerationen ...........................................................................
44
47
48
Operatoren ......................................................................................................
50
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
Rechenoperatoren ......................................................................
Vergleichsoperatoren ................................................................
Logische Operatoren .................................................................
Verkettungsoperator .................................................................
Zuweisungsoperatoren ............................................................
Rangfolge der Operatoren .......................................................
50
53
54
55
56
56
3
Fehlerbehandlung
115
3.1
Entwicklung eines Programms ...............................................................
115
3.2
Fehlerarten ......................................................................................................
116
3.3
Syntaxfehler und IntelliSense .................................................................
117
Einfache Steuerelemente ..........................................................................
58
3.4
Laufzeitfehler und Exception Handling ..............................................
119
3.4.1
Programm mit Laufzeitfehlern ..............................................
119
3.4.2
3.4.3
Einfaches Exception Handling ...............................................
Erweitertes Exception Handling ............................................
121
123
Logische Fehler und Debugging .............................................................
124
3.5.1
3.5.2
3.5.3
124
126
126
2.3.1
2.3.2
2.3.3
2.3.4
2.4
2.5
2.6
2.7
6
Panel ...............................................................................................
Zeitgeber .......................................................................................
Textfelder ......................................................................................
Zahlenauswahlfeld ....................................................................
58
59
63
66
Verzweigungen .............................................................................................
67
2.4.1
2.4.2
2.4.3
if...else .............................................................................................
switch...case ..................................................................................
Übungen ........................................................................................
68
75
78
Verzweigungen und Steuerelemente .................................................
79
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
Kontrollkästchen .........................................................................
Optionsschaltflächen ................................................................
Mehrere Ereignisse in einer Methode behandeln ...........
Mehrere Gruppen von Optionsschaltflächen ...................
Methode ohne Ereignis, Modularisierung .........................
Schieberegler ...............................................................................
79
82
84
86
89
90
Schleifen ...........................................................................................................
92
2.6.1
2.6.2
2.6.3
for-Schleife ....................................................................................
while- und do...while-Schleife ................................................
Übungen ........................................................................................
92
95
98
Schleifen und Steuerelemente ...............................................................
101
2.7.1
2.7.2
2.7.3
2.7.4
2.7.5
2.7.6
101
101
102
104
104
106
Listenfeld .......................................................................................
Listenfeld füllen ..........................................................................
Wichtige Eigenschaften ...........................................................
foreach-Schleife ..........................................................................
Wechsel der Auswahl ................................................................
Wichtige Methoden ...................................................................
2.7.7
2.7.8
3.5
Mehrfachauswahl ......................................................................
Kombinationsfelder ...................................................................
Einzelschrittverfahren ..............................................................
Haltepunkte .................................................................................
Überwachungsfenster ..............................................................
109
110
4
Erweiterte Grundlagen
129
4.1
Steuerelemente aktivieren ......................................................................
129
4.1.1
4.1.2
Ereignis Enter ...............................................................................
Eigenschaften Enabled und Visible ......................................
129
132
Bedienung per Tastatur .............................................................................
135
4.2.1
4.2.2
Eigenschaften TabIndex und TabStop .................................
Tastenkombination für Steuerelemente ............................
135
136
Ereignisgesteuerte Programmierung ..................................................
137
4.3.1
4.3.2
4.3.3
4.3.4
137
139
141
142
4.2
4.3
4.4
Eine Ereigniskette .......................................................................
Endlose Ereignisketten .............................................................
Textfelder koppeln .....................................................................
Tastatur und Maus .....................................................................
Datenfelder .....................................................................................................
144
4.4.1
4.4.2
144
146
Eindimensionale Datenfelder .................................................
Ein Feld durchsuchen ................................................................
7
Inhalt
Inhalt
5.7
Delegates .........................................................................................................
205
5.8
Statische Elemente ......................................................................................
208
5.9
Vererbung ........................................................................................................
211
5.10
Konstruktoren bei Vererbung .................................................................
215
Methoden ......................................................................................................... 160
5.11
Polymorphie ....................................................................................................
217
4.5.1
4.5.2
4.5.3
4.5.4
4.5.5
4.5.6
4.5.7
4.5.8
5.12
Schnittstellen .................................................................................................
221
5.13
Strukturen ........................................................................................................
224
Generische Typen .........................................................................................
228
5.14.1
5.14.2
5.14.3
Eine Liste von Zeichenketten ..................................................
Eine Liste von Objekten ............................................................
Ein Dictionary von Objekten ...................................................
229
232
235
Eigene Klassenbibliotheken .....................................................................
238
5.15.1
5.15.2
DLL erstellen .................................................................................
DLL nutzen ....................................................................................
239
241
5.16
Mehrere Formulare ......................................................................................
242
6
Wichtige Klassen in .NET
247
Klasse String für Zeichenketten .............................................................
247
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6
6.1.7
6.1.8
6.1.9
248
250
251
253
256
258
259
261
262
4.4.3
4.4.4
4.4.5
4.4.6
4.4.7
4.5
4.6
Weitere Feldoperationen .........................................................
Mehrdimensionale Datenfelder ............................................
Datenfelder initialisieren .........................................................
Verzweigte Datenfelder ...........................................................
Datenfelder sind dynamisch ...................................................
Einfache Methoden ....................................................................
Übergabe per Referenz .............................................................
Methoden mit Rückgabewerten ...........................................
Optionale Argumente ...............................................................
Benannte Argumente ................................................................
Beliebig viele Argumente .........................................................
Rekursiver Aufruf ........................................................................
Übungen zu Methoden ............................................................
148
150
155
156
158
161
163
167
169
170
172
173
176
5.14
5.15
Konsolenanwendung .................................................................................. 176
4.6.1
4.6.2
4.6.3
4.6.4
4.6.5
4.6.6
Anwendung erzeugen ...............................................................
Ein- und Ausgabe von Text ......................................................
Eingabe einer Zahl ......................................................................
Erfolgreiche Eingabe einer ganzen Zahl .............................
Ausgabe formatieren ................................................................
Aufruf von der Kommandozeile ............................................
176
177
178
180
181
183
6.1
8
5
Objektorientierte Programmierung
187
5.1
Was ist Objektorientierung? ...................................................................
187
5.2
Klasse, Eigenschaft, Methode, Objekt ................................................ 188
5.3
Eigenschaftsmethode .................................................................................
192
5.4
Konstruktor .....................................................................................................
194
5.5
Namensräume ............................................................................................... 198
5.6
Referenzen, Vergleiche und Typen .......................................................
199
5.6.1
5.6.2
5.6.3
5.6.4
5.6.5
200
201
202
203
205
Referenzen ....................................................................................
Operator == ..................................................................................
Objekte vergleichen ...................................................................
Typ eines Objekts ermitteln ....................................................
Typ eines Objekts durch Vergleich ermitteln ....................
6.2
Eigenschaften der Klasse String ............................................
Trimmen ........................................................................................
Splitten ...........................................................................................
Suchen ............................................................................................
Einfügen .........................................................................................
Löschen ..........................................................................................
Teilzeichenkette ermitteln ......................................................
Zeichen ersetzen .........................................................................
Ausgabe formatieren ................................................................
Datum und Uhrzeit ......................................................................................
264
6.2.1
6.2.2
6.2.3
264
266
269
Eigenschaften von DateTime .................................................
Rechnen mit Datum und Uhrzeit ..........................................
DateTimePicker ...........................................................................
9
Inhalt
Inhalt
6.3
6.4
6.5
7
7.1
7.2
Dateien und Verzeichnisse ....................................................................... 272
6.3.1
6.3.2
6.3.3
6.3.4
6.3.5
6.3.6
6.3.7
6.3.8
6.3.9
Lesen aus einer Textdatei ........................................................
Schreiben in eine Textdatei .....................................................
Sicheres Lesen aus einer Textdatei .......................................
Sicheres Schreiben in eine Textdatei ...................................
Die Klassen File und Directory ................................................
Das aktuelle Verzeichnis ..........................................................
Eine Liste der Dateien ................................................................
Eine Liste der Dateien und Verzeichnisse ...........................
Informationen über Dateien und Verzeichnisse ..............
272
274
276
279
280
281
282
283
284
6.3.10
Bewegen in der Verzeichnishierarchie ................................
285
XML-Dateien ...................................................................................................
287
6.4.1
6.4.2
6.4.3
6.4.4
6.4.5
Aufbau von XML-Dateien .........................................................
Schreiben in eine XML-Datei ...................................................
Lesen aus einer XML-Datei ......................................................
Schreiben von Objekten ...........................................................
Lesen von Objekten ....................................................................
287
288
290
292
294
Rechnen mit der Klasse Math .................................................................
296
Weitere Elemente eines WindowsProgramms
303
Hauptmenü .....................................................................................................
303
7.1.1
7.1.2
7.1.3
7.1.4
7.1.5
7.1.6
303
306
308
308
310
311
Kontextmenü ................................................................................................. 312
7.2.1
7.2.2
7.3
10
Erstellung des Hauptmenüs ...................................................
Code des Hauptmenüs .............................................................
Klasse Font ....................................................................................
Schriftart ........................................................................................
Schriftgröße ..................................................................................
Schriftstil .......................................................................................
Erstellung des Kontextmenüs ................................................
Code des Kontextmenüs ..........................................................
312
313
Symbolleiste ...................................................................................................
315
7.3.1
7.3.2
315
316
Erstellung der Symbolleiste ....................................................
Code der Symbolleiste ..............................................................
7.4
Statusleiste ......................................................................................................
319
7.4.1
7.4.2
Erstellung der Statusleiste ......................................................
Code der Statusleiste ................................................................
319
319
7.5
Eingabedialogfeld ........................................................................................
321
7.6
Ausgabedialogfeld .......................................................................................
325
7.7
Standarddialogfelder ..................................................................................
331
7.7.1
7.7.2
7.7.3
7.7.4
7.7.5
Datei öffnen .................................................................................
Datei speichern unter ...............................................................
Verzeichnis auswählen .............................................................
Farbe auswählen .........................................................................
Schrifteigenschaften auswählen ..........................................
331
333
335
337
338
7.8
Steuerelement ListView ............................................................................
339
7.9
Steuerelement Chart ...................................................................................
343
7.10
Steuerelement DataGridView ................................................................
347
7.11
Lokalisierung ..................................................................................................
352
8
Datenbankanwendungen mit ADO.NET
357
8.1
Was sind relationale Datenbanken? ....................................................
357
8.1.1
8.1.2
8.1.3
8.1.4
Beispiel »Lager« ...........................................................................
Indizes ............................................................................................
Relationen .....................................................................................
Übungen ........................................................................................
357
360
362
366
Anlegen einer Datenbank in MS Access .............................................
368
8.2.1
8.2.2
8.2.3
Aufbau von Access .....................................................................
Datenbankentwurf in MS Access 2016 ...............................
Übungen ........................................................................................
368
369
374
Datenbankzugriff mit C# innerhalb von Visual Studio ...............
374
8.3.1
8.3.2
8.3.3
8.3.4
8.3.5
375
376
376
377
377
8.2
8.3
Beispieldatenbank ......................................................................
Ablauf eines Zugriffs .................................................................
Verbindung ...................................................................................
SQL-Befehl .....................................................................................
OleDb ..............................................................................................
11
Inhalt
Inhalt
378
380
9.2
Ein lokaler Webserver .................................................................................
415
9.2.1
Eine erste Internetanwendung ..............................................
415
SQL-Befehle .....................................................................................................
382
9.3
8.4.1
8.4.2
8.4.3
8.4.4
8.4.5
Auswahl mit SELECT ..................................................................
Ändern mit UPDATE ...................................................................
Löschen mit DELETE ...................................................................
Einfügen mit INSERT ..................................................................
Typische Fehler in SQL ...............................................................
383
387
388
388
388
Eine erste ASP.NET-Anwendung ............................................................
418
9.3.1
Fehlerhafte Programmierung .................................................
420
9.4
Formatierung von Internetseiten ..........................................................
421
9.5
Senden und Auswerten von Formulardaten ....................................
423
9.6
Weitere Formularelemente .....................................................................
425
Ein Verwaltungsprogramm ......................................................................
390
9.7
Ein Kalenderelement ...................................................................................
428
8.5.1
8.5.2
8.5.3
8.5.4
8.5.5
8.5.6
Initialisierung ...............................................................................
Alle Datensätze sehen ..............................................................
Datensatz einfügen ...................................................................
Datensatz ändern .......................................................................
Datensatz löschen ......................................................................
Datensatz suchen .......................................................................
390
391
394
396
399
401
9.8
ASP.NET und ADO.NET ...............................................................................
430
9.9
Datenbank im Internet ändern ..............................................................
433
10
Zeichnen mit GDI+
439
Abfragen über mehrere Tabellen ..........................................................
403
8.6.1
8.6.2
8.6.3
8.6.4
8.6.5
Datenbankmodell und Tabellen ............................................
Alle Personen ...............................................................................
Anzahl der Kunden .....................................................................
Alle Kunden mit allen Projekten ............................................
Alle Personen mit allen Projektzeiten ..................................
403
405
405
405
406
10.1
Grundlagen von GDI+ .................................................................................
439
10.2
Linie, Rechteck, Polygon und Ellipse zeichnen ................................
439
8.6.6
8.6.7
8.6.8
8.6.9
Alle Personen mit Zeitsumme ................................................
Alle Personen mit allen Personenzeiten .............................
Alle Projekte mit allen Zeitsumme .......................................
JOIN oder WHERE .......................................................................
407
408
409
409
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5
10.2.6
Grundeinstellungen ...................................................................
Linie .................................................................................................
Rechteck .........................................................................................
Polygon ...........................................................................................
Ellipse ..............................................................................................
Dicke und Farbe ändern, Zeichnung löschen ....................
440
441
442
443
443
444
Verbindung zu MySQL ................................................................................
410
10.3
Text schreiben ................................................................................................
445
8.7.1
410
10.4
Bilder darstellen ............................................................................................
447
10.5
Dauerhaft zeichnen .....................................................................................
449
10.6
Zeichnen einer Funktion ............................................................................
451
11
Beispielprojekte
455
11.1
Spielprogramm Tetris .................................................................................
455
11.1.1
11.1.2
455
456
8.3.6
8.3.7
8.4
8.5
8.6
8.7
9
9.1
12
Auswahlabfrage ..........................................................................
Aktionsabfrage ............................................................................
.NET-Treiber ..................................................................................
Internetanwendungen mit ASP.NET
413
Grundlagen von Internetanwendungen ............................................
413
9.1.1
9.1.2
9.1.3
413
414
415
Statische Internetanwendungen ..........................................
Dynamische Internetanwendungen ....................................
Vorteile von ASP.NET .................................................................
Spielablauf ....................................................................................
Programmbeschreibung ..........................................................
13
Inhalt
11.1.3
11.1.4
11.1.5
11.1.6
11.1.7
11.1.8
11.1.9
11.1.10
11.2
Steuerelemente ...........................................................................
Initialisierung des Programms ...............................................
Erzeugen eines neuen Panels .................................................
Der Zeitgeber ...............................................................................
Panels löschen .............................................................................
Panels seitlich bewegen ...........................................................
Panels nach unten bewegen ...................................................
Pause ...............................................................................................
Lernprogramm Vokabeln .......................................................................... 468
11.2.1
11.2.2
11.2.3
11.2.4
11.2.5
11.2.6
11.2.7
Benutzung des Programms .....................................................
Erweiterung des Programms ..................................................
Initialisierung des Programms ...............................................
Ein Test beginnt ..........................................................................
Zwei Hilfsmethoden ..................................................................
Die Antwort prüfen ....................................................................
Das Benutzermenü ....................................................................
468
470
471
472
475
476
477
12
Windows Presentation Foundation
481
12.1
Layout ................................................................................................................
482
12.2
Steuerelemente .............................................................................................
485
12.3
Frame-Anwendung ......................................................................................
488
12.4
Zweidimensionale Grafik .......................................................................... 491
12.5
Dreidimensionale Grafik ...........................................................................
494
12.6
Animation ........................................................................................................
498
12.7
WPF und Windows Forms .........................................................................
501
12.7.1
12.7.2
Windows Forms in WPF ............................................................
WPF in Windows Forms ............................................................
502
503
A
Installation und technische Hinweise .................................................
507
B
Lösungen der Übungsaufgaben ............................................................. 515
Index ....................................................................................................................................
14
457
458
460
461
462
466
467
468
535
Herunterladen