1 Das.NET-Konzept. 25
. 1.1 Ein Wort zu diesem Buch. 25
. 1.2 Das Entwicklerdilemma. 28
. 1.3 Das Sprachenkonzept. 30
. 1.4 Das.NET-Framework. 34
. 1.5 Assemblies. 38
2 Die Entwicklungsumgebung. 41
. 2.1 Anmerkungen. 41
. 2.2 Hard- und Softwareanforderungen. 41
. 2.3 Die Installation. 42
. 2.4 Die Entwicklungsumgebung von VS.NET. 46
3 Grundlagen der Sprache C#. 57
. 3.1 Konsolenanwendungen. 57
. 3.2 Grundlagen der C#-Syntax. 60
. 3.3 Variablen und Datentypen. 68
. 3.4 Operatoren. 94
. 3.5 Datenfelder (Arrays) 106
. 3.6 Kontrollstrukturen. 118
. 3.7 Programmschleifen. 129
4 Klassen und Objekte (Teil 1). 151
. 4.1 Einführung in die Objektorientierung. 151
. 4.2 Die Klassendefinition. 157
. 4.3 Die Deklaration von Objektvariablen. 166
. 4.4 Objektmethoden. 186
. 4.5 Objekteigenschaften. 215
. 4.6 Konstruktoren. 229
. 4.7 Der Destruktor. 237
. 4.8 Assistenten der Entwicklungsumgebung. 247
5 Klassen und Objekte (Teil 2). 251
. 5.1 Statische Klassenkomponenten. 251
. 5.2 Delegate. 268
. 5.3 Ereignisse eines Objekts. 273
. 5.4 Strukturen - eine Sonderform der Klassen. 282
. 5.5 Enumerationen (Aufzählungen) 293
. 5.6 Referenz- und Wertetypen. 297
. 5.7 Namensbereiche (Namespaces) 301
6 Vererbung und Polymorphie. 313
. 6.1 Einführung. 313
. 6.2 Konstruktoren in Subklassen. 319
. 6.3 Objektspezifische Methoden einer Subklasse. 328
. 6.4 Die Methoden einer abgeleiteten Klasse. 338
. 6.5 Ereignisse in der Vererbung. 344
. 6.6 Hat-eine-Beziehungen. 347
. 6.7 Typumwandlung von Objektvariablen. 359
. 6.8 Abstrakte Klassen und Methoden. 365
. 6.9 Polymorphie. 368
. 6.10 Die Erweiterung der Klassenhierarchie der 'CircleApplication'. 377
7 Fortgeschrittene Techniken. 389
. 7.1 Operatorüberladung. 389
. 7.2 Indexer. 403
. 7.3 Fortgeschrittene Delegat-Techniken. 412
. 7.4 XML-Dokumentation. 425
8 Schnittstellen. 443
. 8.1 Einführung in die Schnittstellen. 443
9 Fehlerbehandlung und Debugging. 461
. 9.1 Die Behandlung von Laufzeitfehlern (Exceptions). 461
. 9.2 Debugging. 485
10 Fundamentale Klassen des.NET-Frameworks. 501
. 10.1 Allgemeines. 501
. 10.2 Die Klasse Object. 502
. 10.3 Die Klassen der Wertetypen. 513
. 10.4 Die 'String'-Klasse. 522
. 10.5 Die Klasse 'StringBuilder' 541
. 10.6 Die Klasse 'Char' 547
. 10.7 Die Klasse 'DateTime' 547
. 10.8 Die Klasse 'TimeSpan' 555
. 10.9 Die Klasse 'Array' 558
. 10.10 Objektauflistungen (Collections). 571
11 Multithreading. 601
. 11.1 Prozesse, Anwendungsdomänen und Threads. 601
. 11.2 Die Entwicklung einer Multithread-Anwendung. 609
. 11.3 Die Synchronisation von Threads. 626
. 11.4 Asynchrone Aufrufe. 638
12 Arbeiten mit Dateien und Streams. 653
. 12.1 Allgemeine Einführung. 653
. 12.2 Dateien und Verzeichnisse. 654
. 12.3 Die XxxStream-Klassen. 674
. 12.4 Weitere Reader- und Writer-Klassen. 687
13 Serialisierung und Attribute. 711
. 13.1 Einführung in die Serialisierung. 711
. 13.2 Attribute. 730
14 Einführung in die Programmierung grafischer Benutzeroberflächen. 747
. 14.1 Einführung. 747
. 14.2 Der elementare Code einer Windows-Anwendung. 756
. 14.3 Ereignisse grafischer Windows-Komponenten. 771
. 14.4 Die Klasse 'Control'. 779
. 14.5 Die Klasse 'Application'. 783
15 Die Klasse 'Form' 785
. 15.1 Formulare und Steuerelemente. 785
. 15.2 Anwendungstypen. 785
. 15.3 Die Basisklassen des Typs Form. 786
. 15.4 Eigenschaften der Klasse 'Form'. 788
. 15.5 Ereignisse eines Formulars. 802
. 15.6 Anwendungen mit mehreren Formularen. 805
. 15.7 Modale Dialogfenster. 810
. 15.8 Das Meldungsfenster. 823
. 15.9 Das Speichern von Formulardaten in der Registry. 827
16 Elementare Steuerelemente. 833
. 16.1 Gemeinsame Eigenschaften, Methoden und Ereignisse. 833
. 16.2 Schaltflächen ('Button'-Klasse) 842
. 16.3 Die 'CheckBox'-Klasse (Auswahlkästchen) 849
. 16.4 Die Klasse 'RadioButton' (Optionsschaltflächen) 853
. 16.5 Texteingabefelder mit der Klasse 'TextBox' 859
. 16.6 Das Steuerelement 'RichTextBox' 870
. 16.7 Beschriftungen mit dem Steuerelement 'Label' 872
. 16.8 Das 'LinkLabel'-Steuerelement. 873
. 16.9 Die Anzeige eines Quickinfotexts. 875
. 16.10 Das 'ListBox'-Steuerelement. 878
. 16.11 Die Klasse 'CheckedListBox' 890
. 16.12 Das Kombinationslistenfeld (ComboBox) 891
17 Standarddialoge. 895
. 17.1 Einführung in die Standarddialoge. 895
. 17.2 Die Klasse OpenFileDialog. 896
. 17.3 Die Klasse 'SaveFileDialog' 905
. 17.4 Die Klasse 'ColorDialog' 912
. 17.5 Die Klasse 'FontDialog' 914
18 Menü, Symbol- und Statusleiste. 917
. 18.1 Die Klasse 'ImageList' 917
. 18.2 Erstellen eines Menüs. 920
. 18.3 Die Symbolleiste. 950
. 18.4 Die Statusleiste. 963
19 Weitere Steuerelemente. 969
. 19.1 Bildlaufleisten. 969
. 19.2 Schieberegler mit der Klasse 'TrackBar' 971
. 19.3 Das ProgressBar-Steuerelement. 974
. 19.4 Drehfeld-Steuerelemente (UpDown-Steuerelemente) 976
. 19.5 Das Timer-Steuerelement. 979
. 19.6 Die Klasse 'ErrorProvider' 981
. 19.7 Steuerelemente für die Datums- und Zeitangabe. 983
. 19.8 Das Panel-Steuerelement. 987
. 19.9 Das Steuerelement 'NotifyIcon' 988
. 19.10 Die 'PictureBox' 991
. 19.11 Das Registerkarten-Steuerelement. 991
. 19.12 Das TreeView-Steuerelement. 997
. 19.13 Das ListView-Steuerelement. 1012
. 19.14 Das 'Splitter'-Steuerelement. 1025
20 Tastatur- und Mausereignisse. 1031
. 20.1 Die Tastaturschnittstelle. 1031
. 20.2 Die Mausschnittstelle. 1044
21 MDI-Anwendungen. 1053
. 21.1 Einführung. 1053
. 21.2 Das Hauptfenster. 1053
. 21.3 Die Subfenster. 1054
. 21.4 Zugriff auf die Subfenster. 1055
. 21.5 Das Menü in einer MDI-Anwendung. 1058
. 21.6 Beispiel einer MDI-Anwendung. 1060
22 Die grafische Schnittstelle GDI+ 1063
. 22.1 Die Namespaces der GDI+-Schnittstelle. 1063
. 22.2 Das Graphics-Objekt. 1064
. 22.3 Elementare Klassen für grafische Operationen. 1083
. 22.4 Die Schriftdarstellung. 1104
. 22.5 Bilddateien. 1118
23 Das Drucken (Printing). 1137
. 23.1 Ein einführender Überblick. 1137
. 23.2 Der Druckauftrag 'PrintDocument' 1137
. 23.3 Seiteneinstellungen mit 'PageSettings' 1145
. 23.4 Der Drucker als 'PrinterSettings'-Objekt. 1147
. 23.5 Die Steuerelemente zum Drucken. 1148
. 23.6 Drucken von Grafiken. 1154
. 23.7 Ausdruck von mehrseitigem Text. 1158
24 Zwischenablage/Drag & Drop. 1167
. 24.1 Die Zwischenablage. 1167
. 24.2 Drag & Drop-Operationen. 1171
25 Assemblies und Verteilung. 1177
. 25.1 Die COM-Technologie. 1177
. 25.2 Das Konzept der Assemblies. 1184
. 25.3 Der Inhalt einer Assembly. 1186
. 25.4 Einzeldatei-Assemblies. 1193
. 25.5 Mehrdateien-Assemblies. 1195
. 25.6 Das Verteilen von Assemblies. 1202
. 25.7 Globale Assemblies im praktischen Einsatz. 1213
. 25.8 Installation einer Windows-Anwendung. 1221