Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
16
1 Einführung
17
1.1 C# und das Visual Studio
17
1.2 Aufbau dieses Buchs
18
1.3 Visual Studio 2019
18
1.4 Mein erstes Windows-Programm
19
1.5 Visual Studio-Entwicklungsumgebung
20
1.5.1 Ein neues Projekt
20
1.5.2 Einfügen von Steuerelementen
23
1.5.3 Arbeiten mit dem Eigenschaften-Fenster
24
1.5.4 Speichern eines Projekts
26
1.5.5 Das Codefenster
27
1.5.6 Schreiben von Programmcode
29
1.5.7 Kommentare
31
1.5.8 Starten, Ausführen und Beenden des Programms
32
1.5.9 Ausführbares Programm
32
1.5.10 Schließen und Öffnen eines Projekts
32
1.5.11 Übung
33
1.5.12 Empfehlungen für Zeilenumbrüche
33
1.6 Arbeiten mit Steuerelementen
34
1.6.1 Steuerelemente formatieren
34
1.6.2 Steuerelemente kopieren
36
1.6.3 Eigenschaften zur Laufzeit ändern
36
1.6.4 Vergabe und Verwendung von Namen
39
1.6.5 Verknüpfung von Texten, mehrzeilige Texte
39
1.6.6 Eigenschaft BackColor, Farben allgemein
40
2 Grundlagen
42
2.1 Variablen und Datentypen
42
2.1.1 Namen, Werte
42
2.1.2 Deklarationen
43
2.1.3 Datentypen
43
2.1.4 Gültigkeitsbereich
47
2.1.5 Konstanten
50
2.1.6 Enumerationen
52
2.2 Operatoren
53
2.2.1 Rechenoperatoren
54
2.2.2 Vergleichsoperatoren
56
2.2.3 Logische Operatoren
57
2.2.4 Verkettungsoperator
58
2.2.5 Zuweisungsoperatoren
59
2.2.6 Rangfolge der Operatoren
60
2.3 Einfache Steuerelemente
61
2.3.1 Panel
61
2.3.2 Zeitgeber
63
2.3.3 Textfelder
66
2.3.4 Zahlenauswahlfeld
70
2.4 Verzweigungen
71
2.4.1 if...else
72
2.4.2 switch...case
79
2.4.3 Übungen
82
2.5 Verzweigungen und Steuerelemente
83
2.5.1 Kontrollkästchen
83
2.5.2 Optionsschaltflächen
85
2.5.3 Mehrere Ereignisse in einer Methode behandeln
88
2.5.4 Mehrere Gruppen von Optionsschaltflächen
90
2.5.5 Methode ohne Ereignis, Modularisierung
92
2.5.6 Schieberegler
94
2.6 Schleifen
95
2.6.1 for-Schleife
95
2.6.2 while- und do...while-Schleife
99
2.6.3 Übungen
102
2.7 Schleifen und Steuerelemente
104
2.7.1 Listenfeld
104
2.7.2 Listenfeld füllen
104
2.7.3 Wichtige Eigenschaften
105
2.7.4 foreach-Schleife
107
2.7.5 Wechsel der Auswahl
108
2.7.6 Wichtige Methoden
109
2.7.7 Mehrfachauswahl
112
2.7.8 Kombinationsfelder
113
3 Fehlerbehandlung
117
3.1 Entwicklung eines Programms
117
3.2 Fehlerarten
118
3.3 Syntaxfehler und IntelliSense
119
3.3.1 IntelliSense
119
3.3.2 Syntaxfehler
120
3.4 Laufzeitfehler und Exception Handling
122
3.4.1 Programm mit Laufzeitfehlern
122
3.4.2 Einfaches Exception Handling
124
3.4.3 Erweitertes Exception Handling
126
3.5 Logische Fehler und Debugging
127
3.5.1 Einzelschrittverfahren
127
3.5.2 Haltepunkte
129
3.5.3 Überwachungsfenster
129
4 Erweiterte Grundlagen
131
4.1 Steuerelemente aktivieren
131
4.1.1 Ereignis Enter
131
4.1.2 Eigenschaften Enabled und Visible
134
4.2 Bedienung per Tastatur
137
4.2.1 Eigenschaften TabIndex und TabStop
137
4.2.2 Tastenkombination für Steuerelemente
138
4.3 Ereignisgesteuerte Programmierung
139
4.3.1 Eine Ereigniskette
139
4.3.2 Endlose Ereignisketten
141
4.3.3 Textfelder koppeln
143
4.3.4 Tastatur und Maus
144
4.4 Datenfelder
146
4.4.1 Eindimensionale Datenfelder
146
4.4.2 Ein Feld durchsuchen
148
4.4.3 Weitere Feldoperationen
150
4.4.4 Mehrdimensionale Datenfelder
152
4.4.5 Datenfelder initialisieren
157
4.4.6 Verzweigte Datenfelder
158
4.4.7 Datenfelder sind dynamisch
160
4.5 Methoden
162
4.5.1 Einfache Methoden
163
4.5.2 Übergabe per Referenz
165
4.5.3 Methoden mit Rückgabewerten
169
4.5.4 Optionale Argumente
171
4.5.5 Benannte Argumente
173
4.5.6 Beliebig viele Argumente
174
4.5.7 Rekursiver Aufruf
175
4.5.8 Übungen zu Methoden
178
4.6 Tupel
178
4.6.1 Implizit typisierte Variablen
179
4.6.2 Unbenannte Tupel
180
4.6.3 Dekonstruktion
181
4.6.4 Benannte Tupel
182
4.6.5 Implizite Namen und Vergleiche
183
4.6.6 Unbenannte Tupel und Methoden
185
4.6.7 Benannte Tupel und Methoden
186
4.7 Konsolenanwendung
187
4.7.1 Anwendung erzeugen
188
4.7.2 Ein- und Ausgabe von Text
189
4.7.3 Eingabe einer Zahl
190
4.7.4 Erfolgreiche Eingabe einer ganzen Zahl
191
4.7.5 Ausgabe formatieren
193
4.7.6 Aufruf mit Startparametern
194
5 Objektorientierte Programmierung
196
5.1 Was ist Objektorientierung?
196
5.2 Klasse, Eigenschaft, Methode, Objekt
197
5.3 Eigenschaftsmethode
201
5.4 Konstruktor
203
5.5 Namensräume
207
5.6 Referenzen, Vergleiche und Typen
208
5.6.1 Referenzen
209
5.6.2 Operator ==
210
5.6.3 Objekte vergleichen
211
5.6.4 Typ eines Objekts ermitteln
212
5.6.5 Typ eines Objekts durch Vergleich ermitteln
214
5.6.6 Name ermitteln
215
5.7 Delegates
215
5.8 Statische Elemente
218
5.9 Vererbung
221
5.10 Konstruktoren bei Vererbung
225
5.11 Polymorphie
227
5.12 Schnittstellen
231
5.13 Strukturen
234
5.14 Generische Typen
238
5.14.1 Eine Liste von Zeichenketten
239
5.14.2 Eine Liste von Objekten
242
5.14.3 Ein Dictionary von Objekten
245
5.15 Dekonstruktion
248
5.16 Erweiterungsmethoden
249
5.17 Eigene Klassenbibliotheken
252
5.17.1 DLL erstellen
252
5.17.2 DLL nutzen
254
5.18 Mehrere Formulare
255
6 Wichtige Klassen in .NET
261
6.1 Klasse String für Zeichenketten
261
6.1.1 Eigenschaften der Klasse String
262
6.1.2 Trimmen
264
6.1.3 Splitten
265
6.1.4 Suchen
267
6.1.5 Einfügen
270
6.1.6 Löschen
271
6.1.7 Teilzeichenkette ermitteln
273
6.1.8 Zeichen ersetzen
275
6.1.9 Ausgabe formatieren
276
6.2 Datum und Uhrzeit
278
6.2.1 Eigenschaften von DateTime
278
6.2.2 Rechnen mit Datum und Uhrzeit
280
6.2.3 DateTimePicker
283
6.3 Dateien und Verzeichnisse
286
6.3.1 Lesen aus einer Textdatei
286
6.3.2 Schreiben in eine Textdatei
288
6.3.3 Sicheres Lesen aus einer Textdatei
290
6.3.4 Sicheres Schreiben in eine Textdatei
293
6.3.5 Die Klassen File und Directory
294
6.3.6 Das aktuelle Verzeichnis
295
6.3.7 Eine Liste der Dateien
296
6.3.8 Eine Liste der Dateien und Verzeichnisse
297
6.3.9 Informationen über Dateien und Verzeichnisse
298
6.3.10 Bewegen in der Verzeichnishierarchie
299
6.4 XML-Dateien
301
6.4.1 Aufbau von XML-Dateien
301
6.4.2 Schreiben in eine XML-Datei
302
6.4.3 Lesen aus einer XML-Datei
304
6.4.4 Schreiben von Objekten
306
6.4.5 Lesen von Objekten
308
6.5 Rechnen mit der Klasse Math
310
7 Weitere Elemente eines Windows-Programms
317
7.1 Hauptmenü
317
7.1.1 Erstellung des Hauptmenüs
317
7.1.2 Code des Hauptmenüs
320
7.1.3 Klasse Font
322
7.1.4 Schriftart
323
7.1.5 Schriftgröße
324
7.1.6 Schriftstil
325
7.2 Kontextmenü
326
7.2.1 Erstellung des Kontextmenüs
327
7.2.2 Code des Kontextmenüs
327
7.3 Symbolleiste
329
7.3.1 Erstellung der Symbolleiste
329
7.3.2 Code der Symbolleiste
330
7.4 Statusleiste
333
7.4.1 Erstellung der Statusleiste
333
7.4.2 Code der Statusleiste
333
7.5 Eingabedialogfeld
335
7.6 Ausgabedialogfeld
339
7.7 Standarddialogfelder
345
7.7.1 Datei öffnen
345
7.7.2 Datei speichern unter
348
7.7.3 Verzeichnis auswählen
349
7.7.4 Farbe auswählen
351
7.7.5 Schrifteigenschaften auswählen
352
7.8 Steuerelement RichTextBox
354
7.9 Steuerelement ListView
356
7.10 Steuerelement Chart
359
7.11 Steuerelement DataGridView
364
7.12 Lokalisierung
369
8 Datenbankanwendungen mit ADO.NET
374
8.1 Was sind relationale Datenbanken?
374
8.1.1 Beispiel »Lager«
374
8.1.2 Indizes
377
8.1.3 Relationen
378
8.1.4 Übungen
383
8.2 Anlegen einer Datenbank in MS Access
384
8.2.1 Aufbau von MS Access
385
8.2.2 Datenbankentwurf in MS Access 2019
386
8.2.3 Übungen
391
8.3 Datenbankzugriff mit C# in Visual Studio
391
8.3.1 Beispieldatenbank
392
8.3.2 Ablauf eines Zugriffs
393
8.3.3 Verbindung
393
8.3.4 SQL-Befehl
393
8.3.5 OleDb
394
8.3.6 Auswahlabfrage
394
8.3.7 Aktionsabfrage
397
8.4 SQL-Befehle
399
8.4.1 Auswahl mit SELECT
399
8.4.2 Ändern mit UPDATE
404
8.4.3 Löschen mit DELETE
404
8.4.4 Einfügen mit INSERT
405
8.4.5 Typische Fehler in SQL
405
8.5 Ein Verwaltungsprogramm
406
8.5.1 Initialisierung
407
8.5.2 Alle Datensätze sehen
408
8.5.3 Datensatz einfügen
410
8.5.4 Datensatz ändern
412
8.5.5 Datensatz löschen
415
8.5.6 Datensatz suchen
417
8.6 Abfragen über mehrere Tabellen
419
8.6.1 Datenbankmodell und Tabellen
419
8.6.2 Alle Personen
421
8.6.3 Anzahl der Kunden
421
8.6.4 Alle Kunden mit allen Projekten
421
8.6.5 Alle Personen mit allen Projektzeiten
422
8.6.6 Alle Personen mit Zeitsumme
423
8.6.7 Alle Projekte mit allen Personenzeiten
424
8.6.8 Alle Projekte mit Zeitsumme
425
8.6.9 JOIN oder WHERE
425
8.7 Verbindung zu MySQL
425
8.7.1 .NET-Treiber
426
8.7.2 Zugriff auf die Datenbank
426
8.8 Verbindung zu SQLite
428
8.8.1 Eigenschaften von SQLite
428
8.8.2 Installation der SQLite-Bibliotheken
428
8.8.3 Erstellung der Datenbank
429
8.8.4 Zugriff auf die Daten
431
9 Internetanwendungen mit ASP.NET
432
9.1 Grundlagen von Internetanwendungen
432
9.1.1 Statische Internetanwendungen
432
9.1.2 Dynamische Internetanwendungen
433
9.1.3 Vorteile von ASP.NET
434
9.2 Ein lokaler Webserver
434
9.2.1 Eine erste Internetanwendung
434
9.3 Eine erste ASP.NET-Anwendung
437
9.3.1 Fehlerhafte Programmierung
439
9.4 Formatierung von Internetseiten
440
9.5 Senden und Auswerten von Formulardaten
441
9.6 Weitere Formularelemente
444
9.7 Ein Kalenderelement
447
9.8 ASP.NET und ADO.NET
449
9.9 Datenbank im Internet ändern
451
10 Zeichnen mit GDI+
457
10.1 Grundlagen von GDI+
457
10.2 Linie, Rechteck, Polygon und Ellipse zeichnen
457
10.2.1 Grundeinstellungen
458
10.2.2 Linie
459
10.2.3 Rechteck
460
10.2.4 Polygon
460
10.2.5 Ellipse
461
10.2.6 Dicke und Farbe ändern, Zeichnung löschen
462
10.3 Text schreiben
463
10.4 Bilder darstellen
465
10.5 Dauerhaft zeichnen
467
10.6 Zeichnen einer Funktion
469
11 Beispielprojekte
473
11.1 Spielprogramm Tetris
473
11.1.1 Spielablauf
473
11.1.2 Programmbeschreibung
474
11.1.3 Steuerelemente
475
11.1.4 Initialisierung des Programms
476
11.1.5 Erzeugen eines neuen Panels
478
11.1.6 Der Zeitgeber
479
11.1.7 Panels löschen
480
11.1.8 Panels seitlich bewegen
484
11.1.9 Panels nach unten bewegen
485
11.1.10 Pause
486
11.2 Lernprogramm Vokabeln
486
11.2.1 Benutzung des Programms
487
11.2.2 Erweiterung des Programms
489
11.2.3 Initialisierung des Programms
489
11.2.4 Ein Test beginnt
490
11.2.5 Zwei Hilfsmethoden
493
11.2.6 Die Antwort prüfen
494
11.2.7 Das Benutzermenü
495
12 Windows Presentation Foundation
499
12.1 Layout
500
12.2 Steuerelemente
503
12.3 Frame-Anwendung
506
12.4 Zweidimensionale Grafik
509
12.5 Dreidimensionale Grafik
512
12.6 Animation
516
12.7 WPF und Windows Forms
519
12.7.1 Windows Forms in WPF
519
12.7.2 WPF in Windows Forms
521
Anhang
524
A Installation und technische Hinweise
524
A.1 Installation von Visual Studio Community 2019
524
A.2 Arbeiten mit einer Formularvorlage
526
A.3 Arbeiten mit einer Projektvorlage
527
A.4 Weitergabe eigener Windows-Programme
527
A.5 Konfigurationsdaten
529
B Lösungen der Übungsaufgaben
531
B.1 Lösung der Übungsaufgabe aus Kapitel 1
531
B.2 Lösungen der Übungsaufgaben aus Kapitel 2
532
B.3 Lösungen der Übungsaufgaben aus Kapitel 4
544
B.4 Lösungen der Übungsaufgaben aus Kapitel 8
547
Index
549