jetzt lerne ich тш^шш Visual C# 2008 Das komplette Starterkit für den erfolgreichen Einstieg Markt+Technik
Vorwort 1 1.1 1.2 1.3 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5 1.5.1 1.5.2 1.6 1.7 1.8 2 2.1 2.1.1 2.1.2 2.1.3 Ein wenig Theorie vorab Was 1st ein Programm? Wie wird ein Programm erstellt? C#, IL-Code und JIT-Compiler Erstellung und Ausführung von C#-Programmen Vorzüge des IL-Codes Das.NET Framework Die.NET-Initiative Die Komponenten des.net Frameworks Framework, SDK und Bezugsquellen Visual C# IDE RAD Das erste Programm Am Anfang steht immer ein Projekt 1: Ein eigenes Projekt anlegen 2: Das Projekt speichern 3: Das Programm ausführen 15 19 20 21 24 24 25 28 29 32 33 34 35 37 39 39 40 41 42 42 45 45
2.2 Quelltext - der erste Kontakt! 46 2.2.1 Program.cs 47 2.2.2 Forml.csundForml.Designer.es 57 2.2.3 namespace und using 62 2.3 Programmieren in der RAD-Umgebung 63 2.3.1 Die RAD-Umgebung 63 2.3.2 Komponenten aufnehmen 66 2.3.3 Komponenten konfigurieren 69 2.3.4 Ereignisse bearbeiten 71 2.3.5 Eigenschaften zur Laufzeit ändern 72 2.3.6 Die Eigenschaft Name 74 2.4 Was tut sich auf der Festplatte? 75 2.5 Anwendungen von außerhalb Visual C# aufrufen 76 2.6 78 2.7 78 2.8 79 3 C#-Grundkurs: Datenverarbeitung 81 3.1 Konsolenanwendungen 82 3.1.1 Das Grundgerüst 83 3.1.2 Konsolenanwendungen in Visual C# 83 3.1.3 Konsolenanwendungen außerhalb von Visual C# ausführen 84 3.2 Datentypen und Variablen 86 3.2.1 Der»Wert«der Variablen 88 3.2.2 Variablen bei der Definition initialisieren 89 3.2.3 Werte von Variablen abfragen 89 3.2.4 Die elementaren Datentypen 90 3.2.5 Strings 91 3.2.6 Typumwandlung 98 3.2.7 C# für Pedanten 103 3.3 Variablen kontra Konstanten 104 3.4 Operatoren 105 3.4.1 Die verschiedenen Operatoren 107 3.4.2 Verwendung der trigonometrische Methoden 109 3.4.3 Division 111 3.5 Objekte und Klassen 112 3.5.1 C# für Philosophen 112 3.5.2 Klassen definieren 114 3.5.3 Mit Klassen programmieren 121 8
3.6 3.6.1 3.6.2 3.6.3 3.7 3.8 3.9 3.10 4 4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.4 4.5 4.6 5 5.1 5.1.1 5.1.2 5.2 5.2.1 Arrays Arrays definieren Auf Array-Elemente zugreifen Arrays initialisieren Vordefinierte Klassen und Namespaces C#-Grundkurs: Modularisierung und Programmsteuerung Modularisierung durch Klassen und Methoden Teilprobleme in Methoden implementieren I Teilprobleme in Methoden implementieren II Teilprobleme in Klassen implementieren Eigene Bibliotheken Kontrollstrukturen Bedingungen: if-else Bedingungen und Boolesche Ausdrücke Mehrfachbedingungen: switch Die Schleifen for, while und foreach Schleifenvariablen und Abbruchbedingungen Schleifen und Arrays Zauber mit Schleifen, Zahlen und Kaninchen Änderung des Programmflusses Fehlerbehandlung durch Ausnahmen Ausnahmen abfangen Mehrere catch-blöcke Die Ausnahme-Parameter Eigene Ausnahmen C#-Grundkurs: OOP-Vertiefung Statische und nicht-statische Klassenelemente Nicht-statische Elemente Statische Elemente Methoden Definition von Methoden 125 125 126 127 128 129 130 131 133 133 136 137 138 143 148 148 149 152 153 155 156 158 159 160 160 164 166 167 167 168 169 171 172 172 175 177 178 9
5.2.2 5.2.3 5.2.4 5.3 5.3.1 5.3.2 5.3.3 5.4 5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.6 5.7 5.8 6 6.1 6.2 6.2.1 6.2.2 6.3 6.3.1 6.3.2 6.4 6.5 6.6 7 7.1 7.1.1 7.1.2 7.2 7.3 7.4 7.5 7.6 7.7 7.8 Rückgabewerte von Methoden - return Parameterübergabe Überladung Zugriff und Zugriffsbeschränkung Gültigkeit Lokale Variablen und Verdeckung Die Zugriffsmodifizierer Eigenschaften Vererbung Der grundlegende Mechanismus Der Zugriffsmodifizierer protected Aufruf des Basisklassenkonstruktors Verbergen und Überschreiben geerbter Methoden C#-Grundkurs: OOP-Ausblick Polymorphie Object ToStringO überschreiben Boxing Schnittstellen (Interfaces) Schnittstellen definieren Schnittstellen implementieren C#-Grundkurs: E/A und Dateien Schreiben auf die Konsole Write)), WriteLineO Formatierte Ausgabe Schreiben in Dateien Lesen von Tastatur Lesen aus Dateien Befehlszeilenargumente 179 179 183 185 185 185 187 189 194 194 200 202 204 207 208 209 211 212 216 217 219 220 220 220 223 224 224 225 225 225 226 229 231 232 234 236 236 237 10
8 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.3 8.3.1 8.3.2 8.3.3 8.3.4 8.3.5 8.3.6 8.4 8.5 8.6 9 9.1 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.5 C#-Grundkurs: Nützliche.NET-Klassen Datum und Uhrzeit Datum und Uhrzeit ermitteln Datums- und Zeitangaben manipulieren Datums- und Zeitangaben ausgeben Zeitspannen messen Zufallszahlen Die Auflistungsklassen Historisches Die Auflistungen im Vergleich ArrayList List<T> Dictionary<TKey, TValue> Stack<T> Ein Rundgang durch Visual C# Tour-Start Die Projektverwaltung Vom Nutzen der Projektverwaltung Ein Projekt anlegen Projekte speichern, schließen und öffnen Mit Projekten arbeiten Projekteigenschaften festlegen Projektmappen Der Editor Syntax-Hervorhebung Automatische Einrückung IntelliSense Zusammenarbeit mit Compiler und Debugger Weitere Funktionen Der Windows Forms-Designer Komponenten hinzufügen und löschen Komponenten auswählen Komponenten dimensionieren Komponenten ausrichten Komponenten kopieren Das Eigenschaftenfenster Der Compiler 239 239 239 240 241 243 244 246 246 247 248 252 254 256 257 258 258 259 260 260 260 261 261 262 264 266 271 271 271 272 274 274 274 274 275 275 276 277 277 278 11
9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.7 9.8 9.9 9.10 9.11 10 10.1 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.3.3 10.3.4 10.3.5 10.3.6 10.3.7 10.3.8 10.3.9 10.4 10.4.1 10.4.2 10.5 10.6 10.7 11 11.1 11.1.1 Der Debugger Fehler und Debugging Ablauf von Debug-Sitzungen Vorbereitungen zum Debuggen Programm in Debugger laden und starten Programm anhalten Programm schrittweise ausführen Die Debug-Fenster Hilfe Konfiguration Windows-Anwendungen: Formulare und Steuerelemente Was sind Windows-Anwendungen? Fenster, Hauptfenster und Formulare Nachgefragt, was ist eigentlich ein Fenster? Das Fenster konfigurieren Anwendungssymbol Steuerelemente Programmieren mit Steuerelementen Beschriftungsfelder Schaltflächen Kontrollkästchen Optionsfelder und GroupBox Eingabefelder Listenfelder Kombinationsfelder Weitere Steuerelemente und weitere Informationen Ereignisbehandlung Ereignisbehandlung einrichten Welches Ereignis soll ich abfangen und bearbeiten? Windows-Anwendungen: Menüs und Symbolleisten Menüleisten Aufbau einer Menüleiste 280 281 281 282 283 284 285 285 288 289 290 290 290 291 291 294 295 296 303 305 305 306 309 311 312 313 314 316 317 317 318 319 321 321 322 323 324 324
11.1.2 Ereignisbehandlung für Menüelemente 327 11.1.3 Menüelemente konfigurieren 329 11.2 Symbolleisten 330 11.3 Kontextmenüs 332 11.4 333 11.5 333 11.6 333 12 Windows-Anwendungen: Dialogfelder 335 12.1 Was sind Dialogfelder? 336 12.2 Dialogfelder aufbauen und konfigurieren 336 12.3 Dialogfelder erzeugen und anzeigen 339 12.4 Einstellungen aus Dialogfeldern abfragen 341 12.5 Standarddialoge 343 12.5.1 Meldungsfenster 344 12.5.2 Dateien öffnen 344 12.6 346 12.7 347 12.8 347 13 Windows-Anwendungen: Grafik 349 13.1 Das Arbeitsmaterial des Künstlers 350 13.1.1 Text zeichnen 350 13.1.2 Rekonstruktion von Zeichnungen - Das Paint-Ereignis 352 13.1.3 Zeichenmethoden - Graphics 353 13.1.4 Pinsel, Stift und Schrift 355 13.2 In Panels zeichnen 356 13.2.1 Die Benutzeroberfläche 357 13.2.2 Die Auswahl der Funktionen 358 13.2.3 Die Funktionen zeichnen 358 13.3 Freihandlinien 360 13.3.1 Konzept für Freihandlinien 360 13.3.2 Eigene Graphics-Objekte erzeugen 362 13.4 Bilder anzeigen 364 13.4.1 Bilder aus Bilddateien laden 364 13.4.2 Bilder anzeigen 365 13.4.3 Ein Bildbetrachter 365 13.5 368 13.6 368 13.7 369 13
14 14.1 14.2 14.3 14.3.1 14.3.2 14.4 14.4.1 14.4.2 14.4.3 14.5 14.6 14.6.1 14.6.2 14.6.3 14.7 14.8 14.9 15 15.1 15.2 15.2.1 15.2.2 15.2.3 15.2.4 15.2.5 15.3 15.4 15.5 Datenbankzugriff (ADO.NET) Relationale Datenbanken und SQL SQL-Grundlagen Zugriff auf eine SQL Server-Datenbank Die Datenbank Die Anwendung Zugriff auf eine Microsoft Access-Datenbank Projekt kopieren Datenbank erstellen Quelltext für Datenbankzugriff anpassen Datenbankanwendungen mit voller Visual C#- Unterstützung Datenbankanwendungen in Eigenbau Das Ausgangs-Projekt Das Zusammenspiel der Datenbankklassen Der Code Bildschirmschoner Was unterscheidet Bildschirmschoner von anderen Windows-Anwendungen? Ein Ticker als Bildschirmschoner Konfiguration des Fensters Beenden bei Mausklick Aufrufargumente auswerten Die Animation Den Bildschirmschoner einrichten 371 372 374 377 377 384 390 390 391 391 392 394 394 396 396 401 402 402 403 403 404 405 405 406 408 411 411 412 412 16 Wie geht es weiter? 413 Anhang A: Lösungen 415 Anhang B: Die CD-ROM zum Buch 427 Anhang C: Unicode-Zeichen 431 Anhang D: Syntax-Referenz 435 Anhang E: Glossar 455 Stichwortverzeichnis 463