Inhaltsverzeichnis

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