Visual Basic 2005: das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0]
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Galileo Press
2007
|
Ausgabe: | 2., aktualisierte und erw. Aufl. |
Schriftenreihe: | Galileo computing
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Ausführliche Beschreibung Inhaltsverzeichnis Inhaltsverzeichnis |
Beschreibung: | 1233 S. Ill., graph. Darst. 2 CD-ROMs (12 cm) |
ISBN: | 9783898425858 3898425851 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV021836225 | ||
003 | DE-604 | ||
005 | 20231121 | ||
007 | t | ||
008 | 061201s2007 gw ad|| |||| 00||| ger d | ||
015 | |a 06,A50,0071 |2 dnb | ||
016 | 7 | |a 981711650 |2 DE-101 | |
020 | |a 9783898425858 |c Pp. : EUR 59.90 (DE), EUR 61.60 (AT), sfr 96.90 |9 978-3-89842-585-8 | ||
020 | |a 3898425851 |c Pp. : EUR 59.90 (DE), EUR 61.60 (AT), sfr 96.90 |9 3-89842-585-1 | ||
024 | 3 | |a 9783898425858 | |
035 | |a (OCoLC)180138692 | ||
035 | |a (DE-599)BVBBV021836225 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-20 |a DE-1051 |a DE-706 |a DE-634 |a DE-11 |a DE-91G | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 357f |2 stub | ||
100 | 1 | |a Kühnel, Andreas |e Verfasser |0 (DE-588)1028663412 |4 aut | |
245 | 1 | 0 | |a Visual Basic 2005 |b das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] |c Andreas Kühnel |
250 | |a 2., aktualisierte und erw. Aufl. | ||
264 | 1 | |a Bonn |b Galileo Press |c 2007 | |
300 | |a 1233 S. |b Ill., graph. Darst. |e 2 CD-ROMs (12 cm) | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Galileo computing | |
650 | 0 | 7 | |a VisualBASIC 2005 |0 (DE-588)4828515-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a CD-ROM |0 (DE-588)4139307-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a ADO.NET 2.0 |0 (DE-588)7518663-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a VisualBASIC 2005 |0 (DE-588)4828515-8 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a ADO.NET 2.0 |0 (DE-588)7518663-9 |D s |
689 | 1 | 1 | |a CD-ROM |0 (DE-588)4139307-7 |D s |
689 | 1 | |5 DE-604 | |
856 | 4 | 2 | |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=2868422&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |q text/html |u http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-741?GalileoSession=44769355A2.QRDdLmRM |3 Ausführliche Beschreibung |
856 | 4 | |u http://www.gbv.de/dms/ilmenau/toc/491782810.PDF |3 Inhaltsverzeichnis | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015048151&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-015048151 |
Datensatz im Suchindex
_version_ | 1809221778002673664 |
---|---|
adam_text |
Auf einen Blick
Vorwort 25
1 Allgemeine Einführung in .NET 27
2 Die Entwicklungsumgebung 45
3 Grundlagen der Sprachsyntax 59
4 Das Klassendesign (Teil 1) 133
5 Das Klassendesign (Teil 2) 197
6 Vererbung, Polymorphie und Schnittstellen 245
7 Weitere Möglichkeiten von Visual Basic 2005 317
8 Features von Visual Studio 2005 379
9 Fehlerbehandlung und Debugging 403
10 Einige wichtige .NET Klassen 449
11 Multithreading und asynchrone Methodenaufrufe 499
12 Arbeiten mit Dateien und Streams 549
13 Serialisierung 601
14 Assemblies und Reflexion 615
15 Grundlagen zum Erstellen einer Windows Anwendung 645
16 Die wichtigsten Steuerelemente 717
17 Standarddialoge programmieren 779
18 Menü , Symbol und Statusleiste 801
19 Weitere Steuerelemente 843
20 Tastatur und Mausereignisse 911
21 MDI Anwendungen 931
22 Grafische Programmierung mit GDI+ 943
23 Das Drucken (Printing) 997
24 Programmiertechniken 1023
25 Entwickeln von Steuerelementen 1047
26 DatenbankzugriffmitADO.NET 1067
27 Fertigstellen eines Projekts 1149
Über den Autor 1221
Index 1223
Inhalt
Vorwort 25
1.1 Warum .NET? 27
1.1.1 Ein paar Worte zu diesem Buch 29
1.1.2 Die Beispielprogramme 31
1.2 .NET unter die Lupe genommen 32
1.2.1 Das Entwicklerdilemma 32
1.2.2 .NET Ein paar allgemeine Eigenschaften 33
1.2.3 Das Sprachenkonzept 34
1.2.4 Die »Common Language Specification« (CLS) 35
1.2.5 Das »Common Type System« (CTS) 37
1.2.6 Das .NET Framework 38
1.2.7 Die »Common Language Runtime« (CLR) 38
1.2.8 Die .NET Klassenbibliothek 39
1.2.9 Das Konzept der Namespaces 40
1.3 Assemblies 42
1.3.1 Die Metadaten 42
1.3.2 Das Manifest 43
2.1 Editionen von Visual Studio 2005 45
2.2 Hard und Softwareanforderungen 46
2.3 Die Installation 46
2.3.1 Die Installation von »Visual Basic 2005 Express Edition« 46
2.3.2 Die Installation von »Visual Studio 2005 Team System« 49
2.4 Die Entwicklungsumgebung des Visual Studio 2005 51
2.4.1 Der Code Editor 52
2.4.2 Der Projektmappen Explorer 53
2.4.3 Das Eigenschaftsfenster 54
2.4.4 Die Werkzeugsammlung (Toolbox) 55
2.4.5 Der Server Explorer 56
2.5 Starten eines neuen Projekts 57
2.5.1 Visual Studio 2005 Team System 57
5
Inhalt
3.1 Konsolenanwendungen 59
3.1.1 Der Projekttyp Konsolenanwendung 59
3.1.2 Die Vorlage »Konsolenanwendung« 60
3.2 Variablen und Datentypen 61
3.2.1 Explizite und implizite Variablendeklaration 61
3.2.2 Die Variablendeklaration 67
3.2.3 Die einfachen Datentypen 71
3.2.4 Sichtbarkeit und Lebensdauer 79
3.2.5 Initialisierung von Variablen 83
3.2.6 Datentypkonvertierung 84
3.2.7 Ein und Ausgabemethoden der Klasse »Console« 88
3.2.8 Zusammenfassung 92
3.3 Datenfelder (Arrays) 93
3.3.1 Eindimensionale Arrays 93
3.3.2 Mehrdimensionale Arrays 97
3.3.3 Ändern der Array Kapazität 98
3.3.4 Initialisierung der Array Elemente 99
3.3.5 Bestimmung der Array Obergrenze 101
3.3.6 Zusammenfassung 102
3.4 Operatoren 102
3.4.1 Arithmetische Operatoren 103
3.4.2 Relationale Operatoren 104
3.4.3 Logische Operatoren 106
3.4.4 Zuweisungsoperatoren 110
3.4.5 Verkettungsoperator 111
3.4.6 Operatorprioritäten 111
3.4.7 Bitweise Operationen 112
3.4.8 Zusammenfassung 115
3.5 Kontrollstrukturen 115
3.5.1 Die If Anweisung 116
3.5.2 »Select Case« Anweisung 119
3.5.3 Einzeilige Entscheidungsanweisungen 121
3.5.4 Zusammenfassung 124
3.6 Programmschleifen 125
3.6.1 Die For Next Schleife 125
3.6.2 Do Loop Schleifen 128
3.6.3 Die While /End While Schleife 131
3.6.4 Zusammenfassung 131
6
Inhalt
4.1 Einführung in die Objektorientierung 133
4.1.1 Das objektorientierte Paradigma 135
4.1.2 Vorteile der objektorientierten Programmierung 138
4.1.3 Zusammenfassung 139
4.2 Die Klassendefinition 139
4.2.1 Die Deklaration von Objektvariablen 141
4.2.2 Zugriffsmodifizierer einer Klasse 142
4.2.3 Der Projekttyp »Klassenbibliothek« 143
4.2.4 Splitten einer Klassendefinition mit »Partial« 148
4.2.5 Zusammenfassung 149
4.3 Objektmethoden 149
4.3.1 Methoden mit Rückgabewert 149
4.3.2 Methoden ohne Rückgabewert 150
4.3.3 Der Aufruf einer Methode 151
4.3.4 Methoden mit Parameterliste 152
4.3.5 Rückgabewert einer Methode 153
4.3.6 Variablen in einer Methode 155
4.3.7 Zugriffsmodifizierer einer Methode 156
4.3.8 Referenz und Wertparameter 157
4.3.9 Parameter, die Objektreferenzen erwarten 159
4.3.10 Methodenüberladung 160
4.3.11 Optionale Parameter 161
4.3.12 Zusammenfassung 165
4.4 Objekteigenschaften 166
4.4.1 Ergänzung der Klasse »Circle« 170
4.4.2 Lese und schreibgeschützte Eigenschaften 171
4.4.3 Die Parameterliste einer Property Prozedur 172
4.4.4 Standardeigenschaften 174
4.4.5 DasWith . End With Statement 175
4.4.6 Konstanten mit »Const« und »ReadOnly« 176
4.4.7 Der Zugriff auf private Daten 177
4.4.8 Zusammenfassung 178
4.5 Konstruktoren 179
4.5.1 Die Konstruktoren in der Klasse »Circle« 179
4.5.2 Die Konstruktoraufrufe 180
4.5.3 Definition von Konstruktoren 181
4.5.4 »Friend« Konstruktoren 182
4.5.5 »Private« Konstruktoren 182
4.5.6 Konstruktorverkettung 182
4.5.7 Zusammenfassung 183
7
Inhalt
4.6 Der Destruktor 184
4.6.1 Das Zerstören von Objekten 184
4.6.2 Der Garbage Collector 184
4.6.3 Zusammenfassung 191
4.7 Arbeiten mit Objektreferenzen 191
4.7.1 Prüfen auf Initialisierung 191
4.7.2 Mehrere Referenzen auf ein Objekt 192
4.7.3 Typfeststellung einer Objektreferenz 193
4.7.4 Zusammenfassung 195
5.1 Statische Klassenkomponenten 197
5.1.1 Die Realisierung eines Objektzählers 197
5.1.2 Zugriff auf statische Komponenten 199
5.1.3 Statische Klassenvariable in der Klasse »Circle« 199
5.1.4 Klassenspezifische Methoden 201
5.1.5 Statische Methoden in der Klasse »Circle« 202
5.1.6 Statische Klasseninitialisierer 205
5.1.7 Zusammenfassung 208
5.2 Delegaten 208
5.2.1 Einführung in das Prinzip der Delegaten 208
5.2.2 Zusammenfassung der Arbeitsschritte 212
5.2.3 Vereinfachter Aufruf eines Delegaten 213
5.3 Ereignisse eines Objekts 213
5.3.1 Ergänzungeines Ereignisses in einer Ereignisquelle 214
5.3.2 Die Behandlung eines Ereignisses im Ereignisempfänger 216
5.3.3 Ereignisse mit Übergabeparameter 218
5.3.4 Die Handies Klausel 219
5.3.5 Die Registrierung eines Ereignishandlers mit »AddHandler« 220
5.3.6 Zusammenfassung 221
5.4 Strukturen eine Sonderform der Klassen 222
5.4.1 Die Definition einer Struktur 222
5.4.2 Initialisieren einer Struktur 224
5.4.3 Ereignisse in einer Struktur 225
5.4.4 Änderung der Klasse »Circle« 225
5.4.5 Zusammenfassung der Unterscheidungsmerkmale Klasse
Struktur 228
5.5 Enumerationen (Aufzählungen) 229
5.5.1 Alle Mitglieder einer Aufzählung durchlaufen 230
5.6 Referenz und Wertetypen 231
5.6.1 Typumwandlung mit Boxing 233
5.6.2 Die Unboxing Konvertierung 235
8
Inhalt
5.6.3 Zusammenfassung 235
5.7 Namensräume (Namespaces) 236
5.7.1 Zugriff auf Namespaces 237
5.7.2 Die »Imports« Anweisung 238
5.7.3 Aliasnamen zur Vermeidung von Mehrdeutigkeiten 240
5.7.4 Aufrufe mit »Global« umleiten 240
5.7.5 Namespaces festlegen 241
5.7.6 Zusammenfassung 243
6.1 Basisklassen und abgeleitete Klassen 245
6.1.1 Die Ableitung einer Klasse 246
6.1.2 Klassen, die nicht vererben können 247
6.1.3 Zusammenfassung 248
6.2 Konstruktoren in abgeleiteten Klassen 248
6.2.1 Allgemeines 248
6.2.2 Die Konstruktoren der Klasse »GraphicCircle« 249
6.2.3 Der Zugriffsmodifizierer »Protected« 250
6.2.4 Konstruktorverkettung 250
6.2.5 Finalizer Verkettung 255
6.2.6 Zusammenfassung 256
6.2.7 Der Stand des Projekts »CircleApplication« 256
6.3 Die Methoden in einer abgeleiteten Klasse 257
6.3.1 Geerbte Methoden mit »Shadows« verdecken 258
6.3.2 Überladen einer Basisklassenmethode 261
6.4 Ereignisse in der Vererbung 262
6.5 »Hat eine« Beziehungen (Aggregation) 264
6.5.1 Weiterleitung einer internen Objektreferenz 267
6.5.2 Verbergen des internen Objekts 267
6.5.3 Innere Klassen 269
6.6 Typumwandlung von Objektvariablen 274
6.6.1 Die implizite Typumwandlung von Objektreferenzen 274
6.6.2 Die explizite Typumwandlung von Objektreferenzen 276
6.6.3 Zusammenfassung 277
6.7 Abstrakte Klassen und Methoden 278
6.7.1 Problembeschreibung 278
6.7.2 Abstrakte Definitionen 278
6.8 Polymorphie 280
6.8.1 Überschreibbare Methoden mit »Overridable« 282
6.8.2 Inhomogene Mengen 283
6.8.3 Verdecken und Überschreiben geerbter Methoden 285
9
Inhalt
6.8.4 Überschreiben der Methode »ToStringO«
der Klasse »Object« 287
6.8.5 Nicht überschreibbare Methoden 288
6.8.6 Die Referenzen »Me«, »MyBase« und »MyClass« 288
6.8.7 Zusammenfassung 290
6.9 Erweiterung der Klassenhierarchie »CircleApplication« 290
6.9.1 Die Klasse »GeometricObject« 295
6.10 Schnittstellen 301
6.10.1 Einführung in die Schnittstellen 301
6.10.2 Schnittstellendefinition 302
6.10.3 Schnittstellenimplementierung 302
6.10.4 Abstrakte Klassen vs. Schnittstellen 308
6.10.5 Zusammenfassung 315
7.1 Operatorüberladung 317
7.1.1 Die Syntax der Operatorüberladung 317
7.1.2 Beispiel einer Operatorüberladung 318
7.1.3 Überladung der Operatoren »True« und »False« 320
7.1.4 Benutzerdefinierte Konvertierungen 321
7.2 Collections (Auflistungen) 325
7.2.1 Die elementaren Schnittstellen der Auflistungsklassen 326
7.2.2 Die Schnittstelle »IList« 328
7.2.3 Die Klasse »Arrayüst« 328
7.2.4 Das Sortieren der Elemente einer »ArrayList« 332
7.2.5 Die Schnittstelle »IDictionary« 340
7.2.6 Die Klasse »Hashtable« 341
7.2.7 Die Klassen »Queue« und »Stack« 345
7.2.8 Objektauflistungen im Überblick 347
7.2.9 Benutzerdefinierte Auflistungen 349
7.3 Generics 355
7.3.1 Ein paar allgemeine Worte 355
7.3.2 Die Typproblematik am Beispiel der Klasse »Stack« 355
7.3.3 Die Lösung mit einer generischen Klasse 357
7.3.4 Typparameter mit Constraints einschränken 358
7.3.5 Generische Methoden 360
7.3.6 Generics und Vererbung 361
7.3.7 Generische Klassen in der .NET Klassenbibliothek 361
7.4 Fortgeschrittene Delegat Techniken 362
7.4.1 Eine Beispielanwendung 362
7.4.2 Multicast Delegaten 366
10
Inhalt
7.5 Attribute 369
7.5.1 Das »Flags« Attribut 369
7.5.2 Anmerkungen zu den Attributen 370
7.5.3 Benutzerdefinierte Attribute 371
8.1 Die XML Dokumentation 379
8.1.1 XML Kommentare 379
8.1.2 Die XML Kommentar Tags 381
8.1.3 Generieren der XML Dokumentationsdatei 383
8.2 Der Klassendesigner (Class Designer) 384
8.2.1 Ein typisches Klassendiagramm 385
8.2.2 Hinzufügen von Klassendiagrammen 386
8.2.3 Die Toolbox des Klassendesigners 388
8.2.4 Das Fenster »Klassendetails« 389
8.2.5 Das Klassendiagramm um Typen erweitern 391
8.2.6 Vererbungsbeziehungen definieren 392
8.2.7 Zuordnungen festlegen 393
8.2.8 Klassendiagramme als Bilder exportieren 393
8.3 Refactoring 394
8.3.1 Methode extrahieren 394
8.3.2 Umbenennen von Bezeichnern 396
8.3.3 Felder kapseln 397
8.3.4 Initialisierung und Deklaration zusammenführen oder
trennen 398
8.3.5 Neuanordnung der Parameterliste 399
8.4 Code Snippets (Codeausschnitte) 399
8.4.1 Codeausschnitte einfügen 400
8.4.2 Die Anatomie eines Codeausschnitts 400
9.1 Die Behandlung von Laufzeitfehlern 403
9.1.1 Laufzeitfehler erkennen 404
9.1.2 Die Behandlung von Exceptions 406
9.1.3 Die »Try . Catch« Anweisung 407
9.1.4 Behandlung mehrerer Exceptions 409
9.1.5 Die »Finally« Anweisung 410
9.1.6 Das Weiterleiten von Ausnahmen 412
9.1.7 Die Hierarchie der Exceptions 418
9.1.8 Die Reihenfolge der »Catch« Klauseln 419
9.1.9 Die Basisklasse »Exception« 420
9.1.10 Benutzerdefinierte Exceptions 421
11
Inhalt
9.2 Debuggen mit Programmcode 424
9.2.1 Einführung 424
9.2.2 Die Klasse »Debug« 425
9.2.3 Die Klasse »Trace« 428
9.2.4 Ablaufverfolgung mit »TraceListener« Objekten 429
9.2.5 Steuerung der Protokollierung mit Schaltern 434
9.2.6 Bedingte Kompilierung 438
9.3 Debuggen mit dem Visual Studio 2005 440
9.3.1 Debuggen im Haltemodus 440
9.3.2 Das »Befehlsfenster« 443
9.3.3 Weitere Alternativen, um Variableninhalte zu prüfen 444
9.4 Das Objekttestcenter (Object Test Bench OTB) 445
10.1 Die Klasse »Object« 449
10.1.1 Der Konstruktor 449
10.1.2 Die Methoden der Klasse »Object« 449
10.2 Die Klasse »String« 457
10.2.1 Das Erzeugen eines Strings 458
10.2.2 Unveränderliche »String« Objekte 459
10.2.3 Die Eigenschaften von »String« 460
10.2.4 Die Methoden der Klasse »String« 461
10.2.5 Zusammenfassung der Klasse »String« 471
10.3 Die Klasse »StringBuilder« 472
10.3.1 Allgemeines 472
10.3.2 Die Kapazität eines »StringBuilder« Objekts 472
10.3.3 Die Konstruktoren der Klasse »StringBuilder« 473
10.3.4 Die Eigenschaften der Klasse »StringBuilder« 473
10.3.5 Die Methoden der Klasse »StringBuilder« 474
10.3.6 Allgemeine Anmerkungen 477
10.4 Der Typ »DateTime« 477
10.4.1 Die Zeitspanne »Tick« 477
10.4.2 Die Konstruktoren von »DateTime« 478
10.4.3 Die Eigenschaften von »DateTime« 479
10.4.4 Die Methoden der Klasse »DateTime« 480
10.4.5 Die Klasse »TimeSpan« 483
10.5 Die Klasse »Array« 486
10.5.1 Das Erzeugen eines »Array« Objekts 487
10.5.2 Die Eigenschaften eines »Array« Objekts 488
10.5.3 Die Methoden der Klasse »Array« 489
10.5.4 Array Elemente sortieren 491
12
Inhalt
10.6 Ausgabeformatierung 492
10.6.1 Formatierung mit der Methode »String.Format« 492
10.6.2 Formatierung mit der Methode »ToString« 495
10.6.3 Benutzerdefinierte Formatierung 496
11.1 Prozesse und Threads 499
11.1.1 Multithreading 499
11.1.2 Thread Zustände und Prioritäten 500
11.1.3 Einsatz von mehreren Threads 502
11.2 Die Entwicklung einer Multithreading Anwendung 502
11.2.1 Die Klasse »Thread« 505
11.2.2 Threadpools nutzen 518
11.3 Die Synchronisation von Threads 520
11.3.1 Unsynchronisierte Threads 520
11.3.2 Der »Monitor« zur Synchronisation 522
11.3.3 Das Synchronisationsobjekt »Mutex« 532
11.3.4 Das Attribut »MethodImpl« 533
11.4 Asynchrone Methodenaufrufe 533
11.4.1 Eine kleine Einführung 533
11.4.2 Asynchroner Methodenaufruf 535
11.4.3 Asynchroner Aufruf mit Rückgabewerten 541
11.4.4 Eine Klasse mit asynchronen Methodenaufrufen 544
12.1 Einführung 549
12.2 Namespaces der Ein bzw. Ausgabe 550
12.2.1 Das Behandeln von Ausnahmen bei E/A Operationen 551
12.3 Laufwerke, Verzeichnisse und Dateien 551
12.3.1 Die Klasse »File« 551
12.3.2 Die Klasse »Fileinfo« 560
12.3.3 Die Klassen »Directory« und »Directoryinfo« 562
12.3.4 Die Klasse »Path« 566
12.3.5 Die Klasse »DriveInfo« 568
12.3.6 Die Klasse »SpecialDirectories« 569
12.4 Die »Stream« Klassen 570
12.4.1 Die abstrakte Klasse »Stream« 571
12.4.2 Die von »Stream« abgeleiteten Klassen im Überblick 573
12.4.3 Die Klasse »FileStream« 574
12.5 Die Klassen »TextReader« und »TextWriter« 580
12.5.1 Die Klasse »StreamWriter« 581
13
Inhalt
12.5.2 Die Klasse »StreamReader« 584
12.5.3 Die Klassen »StringWriter« und »StringReader« 587
12.6 Die Klassen »BinaryReader« und »BinaryWriter« 588
12.6.1 Komplexe binäre Dateien 591
12.7 Synchrone und asynchrone Operationen 597
12.7.1 Beispielprogramm eines asynchronen Schreibvorgangs 598
13.1 Einführung in die Serialisierung 601
13.1.1 Serialisierungsverfahren 602
13.2 Serialisierung mit »Binar/Formatter« 602
13.3 Serialisierung mit »SoapFormatter« 609
13.4 Serialisierung mit »XmlSerializer« 609
13.4.1 XML Serialisierung mit Attributen steuern 611
14.1 Assemblies 615
14.1.1 Die Struktur einer Assembly 617
14.1.2 Einzeldatei Assemblies 623
14.1.3 Mehrfachdatei Assemblies 625
14.1.4 Private und globale Assemblies 631
14.1.5 Festlegen der Assembly Eigenschaften 639
14.2 Die Metadaten mittels Reflexion abfragen 641
14.2.1 Was ist Reflexion? 641
14.2.2 Der Mittelpunkt der Reflexion: die Klasse »Type« 641
15.1 Die Entwicklungsumgebung 645
15.2 Eine erste Windows Anwendung 647
15.3 Die Internas einer Windowsanwendung 652
15.3.1 Projekteinstellungen 655
15.3.2 Das Anwendungsframework 655
15.3.3 Die Klasse »MyApplication« 656
15.3.4 Die Ereignisse des »MyApplication« Objekts 657
15.4 Ereignisse grafischer Windows Komponenten 660
15.4.1 Grundlegende Anmerkungen 660
15.4.2 Ereignisse mit Ereignisdaten 662
15.4.3 Ereignishandler mit dem Visual Studio 2005 bereitstellen 663
15.4.4 Ereignisbehandlung mit den »OnXxx« Methoden 664
15.5 Die Basisklassen einer Form 666
15.5.1 Die Klasse »Control« 666
14
Inhalt
15.5.2 Die Klasse »ScrollableControl« 667
15.5.3 Die Klasse »ContainerControl« 667
15.6 Die Eigenschaften einer Form 668
15.6.1 Die Rahmendarstellung einer Form 668
15.6.2 Formspezifisches Symbol festlegen 669
15.6.3 Die Schaltflächen in der Titelleiste 670
15.6.4 Spielereien mit »Opacity« und »TransparencyKey« 670
15.6.5 Fenster, die nicht verdeckt werden können 670
15.6.6 Den Mauszeiger verändern 671
15.6.7 Farbeinstellungen mit dem Typ »Color« 671
15.6.8 Schriftart mit dem Typ »Font« 673
15.6.9 Die Abmessungen einer Form festlegen 677
15.6.10 Die Position eines Fensters 678
15.6.11 Die Anzeigezustand eines Fensters nach dem öffnen 680
15.6.12 Die Arbeitsfläche des Fensters (der Clientbereich) 680
15.6.13 Die Auflistung »ControlsCollection« 680
15.6.14 Zusammenfassung der Eigenschaften des Form Objekts 681
15.7 Ereignisse einer Form 683
15.7.1 Ereignisse beim Erzeugen eines Fenster 683
15.7.2 Größenänderung einer Form 684
15.7.3 Ereignisse beim Schließen eines Fensters 684
15.8 Anwendungen mit mehreren Fenstern 686
15.8.1 Neue Forms hinzufügen 686
15.8.2 Formulare laden, anzeigen, verstecken und schließen 687
15.8.3 Mehrere Fenster verwalten 688
15.8.4 Formulare in einem eigenen Thread laufen lassen 692
15.8.5 Splash Fenster 693
15.9 Modale Dialogfenster 696
15.9.1 Layout eines Dialogfensters 696
15.9.2 Die Eigenschaft »DialogResult« 696
15.9.3 Eine Form modal öffnen 698
15.9.4 Die Weitergabe von Resultaten aus einem Dialog 699
15.9.5 Fokussierreihenfolge und Standardschaltflächen 702
15.10 Meldungsfenster mit »MessageBox« 703
15.10.1 Die Methode »MessageBox.Show« 704
15.10.2 Der Rückgabewert der Meldungsfenster 706
15.11 Das Speichern in der Registrierungsdatenbank 707
15.11.1 Die Klassen »Registry« und »RegistrKey« 707
15.11.2 Programmbeispiel zum Speichern in der Registrierung 711
15.12 Die Klasse »Application« 713
15.12.1 Die Datei »Assemblylnfo.vb« 713
15.12.2 Mit »Application.DoEvents« wartende Ereignisse abrufen 713
15.12.3 Zusammenfassung Eigenschaften und Methoden 715
15
Inhalt
16.1 Gemeinsame Eigenschaften, Methoden und Ereignisse 717
16.1.1 Größe und Position 717
16.1.2 Die Sichtbarkeit und der Aktivierungszustand 718
16.1.3 Die Eigenschaft »Text« 719
16.1.4 Die Farbeigenschaften 719
16.1.5 Grafische Darstellung 719
16.1.6 Die »Modifiers« Eigenschaft 719
16.1.7 Die Eigenschaft »Tag« 720
16.1.8 Die Größe von Steuerelementen dynamisch
der Formgröße anpassen 720
16.1.9 Die »Dock« Eigenschaft 721
16.1.10 Die z Reihenfolge 722
16.1.11 Die Tabulatorreihenfolge 722
16.1.12 Steuerelemente fokussieren 723
16.1.13 Maus und Tastaturereignisse 725
16.2 Schaltflächen der Klasse »Button« 726
16.2.1 Die Rahmendarstellung einer Schaltfläche 726
16.2.2 Die Eigenschaft »FlatAppearance« 728
16.2.3 Beschriftung und Grafiken 728
16.2.4 Weitere Gestaltungsmöglichkeiten 730
16.3 Auswahlkästchen mit der Klasse »CheckBox« 730
16.3.1 Eigenschaften eines Kontrollkästchens 733
16.3.2 Checkboxen mit drei Aktivierungszuständen 734
16.4 Die Klasse »RadioButton« (Optionsschaltflächen) 735
16.4.1 Die Gruppierung der Optionsschaltflächen 735
16.4.2 Die Eigenschaften von Optionsschaltflächen 736
16.4.3 Den Zustandswechsel programmieren 736
16.5 Die »GroupBox« als übergeordneter Container 737
16.6 Texteingabefelder mit der Klasse »TextBox« 738
16.6.1 Einzeilige Eingabefelder 738
16.6.2 Mehrzeilige Eingabefelder 747
16.7 Das Steuerelement »RichTextBox« 749
16.8 Beschriftungen mit dem Steuerelement »Label« 752
16.9 Das »LinkLabel« Steuerelement 753
16.10 Die Anzeige eines Quicklnfo Texts 755
16.10.1 Methoden des »ToolTip« Steuerelements 755
16.10.2 Aktivierungsdauer des »Quicklnfo« Steuerelements 757
16.10.3 Weitere Eigenschaften 757
16.11 Das »ListBox« Steuerelement 75g
16.11.1 Die Auflistung »ListBox.ObjectCollection« 758
16.11.2 Eigenschaften zur Darstellung einer Listbox 761
16
Inhalt
16.11.3 Einfach und Mehrfachauswahl der Listenelemente 763
16.11.4 Programmatischer Zugriff auf Listboxen mit Einfachauswahl 763
16.11.5 Benutzerdefiniertes Sortieren der Listenelemente 769
16.11.6 Füllen einer Listbox mit »DataSource« 771
16.12 Das Steuerelement »CheckedListBox« 774
16.13 Die »ComboBox« (Kombinationslistenfeld) 775
16.13.1 Ereignisse eines Kombinationslistenfeldes 776
16.13.2 Autovervollständigung in einer »ComboBox« 777
17.1 Einführung in die Standarddialoge 779
17.1.1 Das Öffnen eines Standarddialogs 779
17.2 Die Klasse »OpenFileDialog« 780
17.2.1 Die Beschriftung der Titelleiste 780
17.2.2 Festlegen eines Standardverzeichnisses 781
17.2.3 Die Klasse »Environment« 781
17.2.4 Einen Dateifilter setzen 783
17.2.5 Die ausgewählte Datei 785
17.2.6 Mehrfachauswahl von Dateien 785
'M.2.1 Zusammenfassung der Eigenschaften und Methoden 785
17.2.8 Ereignisse von »OpenFileDialog« 786
17.2.9 Das Beispiel »Texteditor« 786
17.3 Die Klasse »SaveFileDialog« 788
17.3.1 Der Speichern Dialog am Beispiel »TexteditorVers2« 790
17.4 Der Dialog »FolderBrowserDialog« 795
17.5 Die Klasse »ColorDialog« 796
17.6 Die Klasse »FontDialog« 798
18.1 Das Steuerelement »ToolStripContainer« 802
18.2 Bereitstellen eines Menüs 803
18.2.1 Die Hierarchie der Menüklassen 803
18.2.2 Das Erzeugen eines Menüs 805
18.2.3 Die Eigenschaften der Menüelemente »ToolStripMenultem« . 808
18.2.4 »ToolStripComboBox« und »ToolStripTextBox« 812
18.2.5 Ereignisse 812
18.2.6 Beispielprogramm 814
18.3 Kontextmenüs 817
18.3.1 Das Standardverhalten eines Kontextmenüs ändern 817
18.3.2 Ereignisse des Kontextmenüs 818
18.3.3 Das Kontextmenü einer Textbox 819
V
Inhalt
18.4 Die Zwischenablage 819
18.4.1 Speichern und Abrufen von Daten aus der Zwischenablage 819
18.4.2 Andere Methoden, um Daten in die Zwischenablage
zu schreiben und abzurufen 822
18.4.3 Mehrere Datenformate in der Zwischenablage 823
18.4.4 Eigene Datenformate in die Zwischenablage schreiben 825
18.4.5 Leeren der Zwischenablage 826
18.4.6 Beispielprogramm das Menü »Bearbeiten« 826
18.5 Die Symbolleiste 831
18.5.1 Die Eigenschaften der Symbolleistenschaltflächen 832
18.5.2 DropDown Buttons in Symbolleisten 834
18.5.3 Ein Zwitter vom Typ »ToolStripSplitButton 834
18.5.4 Comboboxen in Symbolleisten 835
18.5.5 Textboxen in Symbolleisten 835
18.5.6 Fortschrittsbalken (ProgressBar) 836
18.5.7 Die Ereignisse der Symbolleiste programmieren 836
18.5.8 Beispiel einer komplexeren Symbolleiste 837
18.6 Die Statusleiste 840
18.6.1 Eine Statusleiste bereitstellen 840
18.6.2 Die in der Statusleiste integrierten Steuerelemente 841
19.1 Bildlaufleisten mit »HScrollBar« und »VScrollBar« 843
19.2 Schieberegler mit der Klasse »TrackBar« 845
19.3 Das »ProgressBar« Steuerelement 848
19.4 Drehfeld Steuerelemente (»UpDown« Steuerelemente) 851
19.4.1 Das »NumericUpDown« Steuerelement 851
19.4.2 Das »DomainUpDown« Steuerelement 852
19.5 Das »Timer« Steuerelement 854
19.6 Die Klasse »ErrorProvider« 855
19.7 Steuerelemente für die Datums und Zeitangabe 857
19.7.1 Das Steuerelement »MonthCalendar« 857
19.7.2 Das Steuerelement »DateTimePicker« 859
19.8 Das »Panel« Steuerelement 861
19.9 Das Steuerelement »Notifylcon« 862
19.10 Bildanzeige mit »PictureBox« 866
19.11 Eine Liste mit Symbolen mit »ImageList« bereitstellen 867
19.11.1 Die Eigenschaften der Klasse »ImageList« 867
19.11.2 Die Bildliste füllen 868
19.12 Registerkarten mit »TabControl« 868
19.12.1 Die Klasse »TabControl« 868
19.12.2 Objekte vom Typ »TabPage« 874
18
Inhalt
19.13 Das »TreeView« Steuerelement 874
19.13.1 Knotenpunkte im »TreeView« definieren 875
19.13.2 Eigenschaften des »TreeView« Steuerelements 880
19.13.3 Die Unterstützung der Entwicklungsumgebung 883
19.13.4 Die Ereignisse des »TreeView« Steuerelements 884
19.13.5 Weitere Eigenschaften und Methoden
des »TreeView« Objekts 885
19.13.6 Eigenschaften und Methoden des »TreeNode« Objekts 886
19.13.7 Beispiel zum Einlesen der Verzeichnisstruktur 887
19.14 Die beiden »Splitter« Steuerelemente 891
19.14.1 Das Steuerelement »Splitter« 891
19.14.2 Das Steuerelement »SplitContainer« 896
19.15 Das »ListView« Steuerelement 897
19.15.1 Die Klassen des »ListView« Steuerelements 897
19.15.2 Die Eigenschaften der »ListView« 898
19.15.3 Listenelemente vom Typ »ListViewItem« 902
19.15.4 Das Element »ListViewSubltem« 904
19.15.5 Der Typ »ColumnHeader« 905
19.15.6 Listenelemente Gruppen zuordnen 905
19.15.7 Sortierung der Spalten 907
19.15.8 Listenelemente ändern 910
20.1 Die Tastaturschnittstelle 911
20.1.1 Die Tastaturereignisse im Überblick 911
20.1.2 Die Ereignisse »KeyDown« und »KeyUp« 912
20.1.3 Das Ereignis »KeyPress« 918
20.1.4 Die Tastaturereignisse der Form 921
20.1.5 Senden von Tastatureingaben 922
20.2 Die Mausschnittstelle 923
20.2.1 Die Ereignisse »MouseDown«, »MouseMove«
und »MouseUp« 924
20.2.2 Weitere Mausereignisse 927
20.2.3 Die »Click« Ereignisse 927
20.2.4 Eigenschaften der Maus 928
21.1 Einführung 931
21.2 Das MDI Hauptfenster 932
21.3 Die Subfenster 933
19
Inhalt
21.4 Zugriff auf die Subfenster 934
21.4.1 Zugriff auf alle Subfenster 934
21.4.2 Zugriff auf das aktive Subfenster 935
21.5 Das Menü in einer MDI Anwendung 935
21.5.1 Subfenster anordnen 936
21.5.2 Subfenster mit eigenen Menüs 937
21.6 Symbol und Statusleiste des Subfensters 939
21.7 Die Liste der geöffneten untergeordneten Fenster 939
21.8 Beispiel einer MDI Anwendung 939
22.1 Die Namespaces der GDI+ Schnittstelle 943
22.2 Die Klasse »Graphics« 944
22.2.1 Überblick über die Klasse »Graphics« 944
22.2.2 Sich die Referenz auf das »Graphics« Objekt besorgen 944
22.2.3 Das Neuzeichnen einer Grafik mit »ResizeRedraw«
und »Invalidate« 947
22.2.4 Zerstören von grafischen Objekten 949
22.2.5 Das Koordinatensystem von GDI+ 950
22.2.6 Festlegen eines anderen Ursprungspunkts 952
22.2.7 Die grafischen Methoden der Klasse »Graphics« 954
22.2.8 Eine Linie zeichnen 955
22.2.9 Mehrere Linien zeichnen 955
22.2.10 Rechtecke zeichnen 956
22.2.11 Punkte zeichnen 957
22.2.12 Polygone zeichnen 958
22.2.13 Ellipsen, Ellipsenbogen und Ellipsensegment 958
22.2.14 Kurvenzüge 959
22.2.15 Bezierkurven 960
22.3 Elementare Klassen für grafische Operationen 961
22.3.1 Die Klasse »Brush« 962
22.3.2 Die Klasse »Pen« 970
22.3.3 Farbeinstellungen mit »Color« 977
22.4 Die Schriftdarstellung 978
22.4.1 Allgemeines 978
22.4.2 Die Klassen »Font« und »FontFamily« 978
22.4.3 Der Schriftstil mit »FontStyle« 979
22.4.4 Die grafische Ausgabe einer Zeichenfolge 979
22.4.5 Die Abmessungen mit »MeasureString« ermitteln 981
22.4.6 Die Klasse »StringFormat« 981
22.5 Bilddateien 982
22.5.1 Raster und Vektorgrafiken 982
20
Inhalt
22.5.2 Bilder und Grafiken der .NET Klassenbibliothek 984
22.5.3 Die Bitmap Dateiformate 984
22.5.4 Bilder mit der Klasse »Image« 985
22.5.5 Bitmaps 989
23.1 Ein einführender Überblick 997
23.2 Einen Druckauftrag mit »PrintDocument« erteilen 998
23.2.1 Methoden und Eigenschaften von PrintDocument 998
23.2.2 Die Ereignisse eines »PrintDocument« Objekts 999
23.2.3 Die Ereignisse »BeginPrint« und »EndPrint« 999
23.2.4 Das Ereignis »QueryPageSettings« 1000
23.2.5 Das Ereignis »PrintPage« 1000
23.2.6 Das Beenden des Druckauftrags 1004
23.2.7 Programmbeispiel 1005
23.3 Seiteneinstellungen mit »PageSettings« 1006
23.4 Der Drucker als »PrinterSettings« Objekt 1008
23.4.1 Mehrere installierte Drucker 1008
23.4.2 Wichtige Eigenschaften des »PrinterSettings« Objekts 1008
23.5 Die Steuerelemente zum Drucken 1009
23.5.1 Das »PrintDocument« Steuerelement 1009
23.5.2 Das »PrintDialog« Steuerelement 1010
23.5.3 Das »PageSetupDialog« Steuerelement 1011
23.5.4 Das »PrintPreviewDialog« Steuerelement 1013
23.5.5 Das »PrintPreviewControk Steuerelement 1013
23.6 Drucken von Grafiken 1018
23.6.1 Das Problem der verschiedenen Maßeinheiten 1018
23.6.2 Festlegung der Einheiten und Skalierung 1019
23.6.3 Beispielprogramm zum Drucken einer Grafik 1019
24.1 Drag Drop Operationen 1023
24.1.1 Der Ablauf einer Drag Drop Operation 1023
24.1.2 Das Einleiten einer Drag Drop Operation 1024
24.1.3 Die Ereignisse des Empfängers einer Drag Drop Operation . 1024
24.1.4 Programmbeispiele 1027
24.2 Entwickeln vom Windows Dienstanwendungen 1034
24.2.1 Einführung 1034
24.2.2 »Windows Dienst« Projekte in der Entwicklungsumgebung 1036
24.2.3 Die Methoden eines Dienstes 1037
24.2.4 Die Eigenschaften eines Dienstes 1038
21
Inhalt
24.2.5 Die Installation eines Windows Dienstes 1040
24.2.6 Beispielprogramm »FileWatchService« 1042
25.1 Einführung 1047
25.1.1 Entwicklungsszenarien 1047
25.1.2 Testen eines Steuerelements 1048
25.2 Steuerelemente mit »UserControl« 1049
25.2.1 Beispielprogramm eines Benutzersteuerelements 1050
25.2.2 Die Eigenschaften des Benutzersteuerelements 1053
25.2.3 Attribute zur Beeinflussung eines Benutzersteuerelements 1054
25.2.4 Ereignisse des Benutzersteuerelements 1057
25.2.5 Bereitstellen einer Toolbox Bitmap 1059
25.2.6 Zusammenfassung des Codes für »EllipseLabel« 1060
25.3 Ableiten eines vorhandenen Steuerelements 1062
25.4 Ein eigenes Steuerelement entwerfen 1063
26.1 Eine kleine Einführung 1067
26.2 Die Verbindung zu einer Datenquelle herstellen 1068
26.2.1 Der Inhalt der Verbindungszeichenfolge 1069
26.2.2 Die Authentifizierung 1071
26.2.3 Das Öffnen einer Verbindung 1071
26.2.4 Schließen einer Verbindung 1072
26.2.5 Die Dauer des Verbindungsaufbaus 1072
26.2.6 Eigenschaften eines »Connection« Objekts 1073
26.2.7 Die Ereignisse eines »Connection« Objekts 1074
26.2.8 Unterstützung bei Projekten mit grafischer
Benutzeroberfläche 1074
26.3 Das »Command« Objekt 1076
26.3.1 Erzeugen eines »Command« Objekts 1076
26.3.2 Ausführen des »Command« Objekts 1076
26.3.3 Aktionsabfragen mit »ExecuteNonQuery« absetzen 1077
26.3.4 Auswahlabfragen mit »ExecuteReader« 1078
26.3.5 Abfragen, die genau ein Ergebnis liefern 1080
26.3.6 Parametrisierte Abfragen 1081
26.3.7 Die Unterstützung des Visual Studios 2005 1083
26.4 Der »DataAdapter« als Bindeglied zwischen Datenbank und
verbindungslosen Objekten 1084
26.4.1 Die Konstruktoren der Klasse »DataAdapter« 1086
26.4.2 Den lokalen Datenspeicher mit der Methode »Fill« füllen 1086
22
Inhalt
26.4.3 Abrufen von Schemainformationen 1090
26.4.4 Die Unterstützung des Visual Studios 2005 1096
26.5 Das »DataSet« Objekt 1098
26.5.1 Allgemeines 1098
26.5.2 Ein »DataSet« Objekt erzeugen 1099
26.5.3 Das DataSet füllen 1099
26.5.4 Tabellen und Spaltenbezeichner zuordnen 1099
26.6 »DataTable« Objekte 1104
26.6.1 Die Zeilen und Spalten in einer »DataTable« 1104
26.6.2 Mit mehreren Tabellen arbeiten 1107
26.6.3 Änderungen an einer »DataTable« vornehmen 1111
26.6.4 Datenausgabe in WinForms mit dem Visual Studio 2005 1115
26.7 Aktualisieren der Datenbank 1123
26.7.1 Aktualisieren mit dem »CommandBuilder« Objekt 1123
26.7.2 Manuell gesteuerte Aktualisierungen 1126
26.7.3 Aktualisieren mit »ExecuteNonQuery« 1127
26.7.4 Manuelles Aktualisieren mit dem DataAdapter 1134
26.7.5 Den zu aktualisierenden Datensatz in der Datenbank suchen . 1137
26.7.6 Den Benutzer über die fehlgeschlagenen Aktualisierungen
informieren 1141
26.7.7 Die konfliktverursachenden Datenzeilen bei der
Datenbank abfragen 1144
27.1 Konfigurationsdateien 1149
27.1.1 Einführung 1149
27.1.2 Die verschiedenen Konfigurationsdateien 1151
27.1.3 Die Struktur einer Anwendungskonfigurationsdatei 1153
27.1.4 Konfigurationsdateien mit Visual Studio 2005 bereitstellen 1156
27.1.5 Einträge der Anwendungskonfigurationsdatei auswerten 1158
27.1.6 Die Klassen »Configuration« und »ConfigurationManager« 1161
27.1.7 Editierbare, anwendungsbezogene Einträge
mit appSettings 1162
27.1.8 Auswertung der Verbindungszeichenfolgen 1165
27.1.9 Beispielprogramm mit einer
Anwendungskonfigurationsdatei 1166
27.1.10 Die Herausgeberrichtliniendatei 1172
27.2 Lokalisierung von Programmen 1173
27.2.1 Lokalisierung von Komponenten 1174
27.2.2 Zusätzliche Lokalisierungsdateien 1177
27.3 Weitergabe von Anwendungen 1178
27.3.1 Allgemeine Anmerkungen 1178
23
Inhalt
27.3.2 Weitergabeprojekte 1179
27.3.3 Der »Windows Installer« 1180
27.3.4 Weitergabeprojekte mit dem »Setup Assistenten« 1181
27.3.5 Die Editoren eines Weitergabeprojekts 1183
27.3.6 Der »Dateisystem Editor« 1185
27.3.7 Der »Registrierungs Editor« 1192
27.3.8 Der »Dateityp Editor« 1194
27.3.9 Der »Benutzeroberflächen Editor« 1197
27.3.10 Der »Editor für benutzerdefinierte Aktionen« 1207
27.3.11 Der »Editor für Startbedingungen« 1208
27.4 »ClickOnce« Verteilung 1213
27.4.1 Allgemeine Beschreibung 1213
27.4.2 Erstellen einer ClickOnce Anwendung 1214
27.4.3 Die Installation einer ClickOnce Anwendung 1218
Über den Autor 1221
Index 1223
24 |
adam_txt |
Auf einen Blick
Vorwort 25
1 Allgemeine Einführung in .NET 27
2 Die Entwicklungsumgebung 45
3 Grundlagen der Sprachsyntax 59
4 Das Klassendesign (Teil 1) 133
5 Das Klassendesign (Teil 2) 197
6 Vererbung, Polymorphie und Schnittstellen 245
7 Weitere Möglichkeiten von Visual Basic 2005 317
8 Features von Visual Studio 2005 379
9 Fehlerbehandlung und Debugging 403
10 Einige wichtige .NET Klassen 449
11 Multithreading und asynchrone Methodenaufrufe 499
12 Arbeiten mit Dateien und Streams 549
13 Serialisierung 601
14 Assemblies und Reflexion 615
15 Grundlagen zum Erstellen einer Windows Anwendung 645
16 Die wichtigsten Steuerelemente 717
17 Standarddialoge programmieren 779
18 Menü , Symbol und Statusleiste 801
19 Weitere Steuerelemente 843
20 Tastatur und Mausereignisse 911
21 MDI Anwendungen 931
22 Grafische Programmierung mit GDI+ 943
23 Das Drucken (Printing) 997
24 Programmiertechniken 1023
25 Entwickeln von Steuerelementen 1047
26 DatenbankzugriffmitADO.NET 1067
27 Fertigstellen eines Projekts 1149
Über den Autor 1221
Index 1223
Inhalt
Vorwort 25
1.1 Warum .NET? 27
1.1.1 Ein paar Worte zu diesem Buch 29
1.1.2 Die Beispielprogramme 31
1.2 .NET unter die Lupe genommen 32
1.2.1 Das Entwicklerdilemma 32
1.2.2 .NET Ein paar allgemeine Eigenschaften 33
1.2.3 Das Sprachenkonzept 34
1.2.4 Die »Common Language Specification« (CLS) 35
1.2.5 Das »Common Type System« (CTS) 37
1.2.6 Das .NET Framework 38
1.2.7 Die »Common Language Runtime« (CLR) 38
1.2.8 Die .NET Klassenbibliothek 39
1.2.9 Das Konzept der Namespaces 40
1.3 Assemblies 42
1.3.1 Die Metadaten 42
1.3.2 Das Manifest 43
2.1 Editionen von Visual Studio 2005 45
2.2 Hard und Softwareanforderungen 46
2.3 Die Installation 46
2.3.1 Die Installation von »Visual Basic 2005 Express Edition« 46
2.3.2 Die Installation von »Visual Studio 2005 Team System« 49
2.4 Die Entwicklungsumgebung des Visual Studio 2005 51
2.4.1 Der Code Editor 52
2.4.2 Der Projektmappen Explorer 53
2.4.3 Das Eigenschaftsfenster 54
2.4.4 Die Werkzeugsammlung (Toolbox) 55
2.4.5 Der Server Explorer 56
2.5 Starten eines neuen Projekts 57
2.5.1 Visual Studio 2005 Team System 57
5
Inhalt
3.1 Konsolenanwendungen 59
3.1.1 Der Projekttyp Konsolenanwendung 59
3.1.2 Die Vorlage »Konsolenanwendung« 60
3.2 Variablen und Datentypen 61
3.2.1 Explizite und implizite Variablendeklaration 61
3.2.2 Die Variablendeklaration 67
3.2.3 Die einfachen Datentypen 71
3.2.4 Sichtbarkeit und Lebensdauer 79
3.2.5 Initialisierung von Variablen 83
3.2.6 Datentypkonvertierung 84
3.2.7 Ein und Ausgabemethoden der Klasse »Console« 88
3.2.8 Zusammenfassung 92
3.3 Datenfelder (Arrays) 93
3.3.1 Eindimensionale Arrays 93
3.3.2 Mehrdimensionale Arrays 97
3.3.3 Ändern der Array Kapazität 98
3.3.4 Initialisierung der Array Elemente 99
3.3.5 Bestimmung der Array Obergrenze 101
3.3.6 Zusammenfassung 102
3.4 Operatoren 102
3.4.1 Arithmetische Operatoren 103
3.4.2 Relationale Operatoren 104
3.4.3 Logische Operatoren 106
3.4.4 Zuweisungsoperatoren 110
3.4.5 Verkettungsoperator 111
3.4.6 Operatorprioritäten 111
3.4.7 Bitweise Operationen 112
3.4.8 Zusammenfassung 115
3.5 Kontrollstrukturen 115
3.5.1 Die If Anweisung 116
3.5.2 »Select Case« Anweisung 119
3.5.3 Einzeilige Entscheidungsanweisungen 121
3.5.4 Zusammenfassung 124
3.6 Programmschleifen 125
3.6.1 Die For Next Schleife 125
3.6.2 Do Loop Schleifen 128
3.6.3 Die While /End While Schleife 131
3.6.4 Zusammenfassung 131
6
Inhalt
4.1 Einführung in die Objektorientierung 133
4.1.1 Das objektorientierte Paradigma 135
4.1.2 Vorteile der objektorientierten Programmierung 138
4.1.3 Zusammenfassung 139
4.2 Die Klassendefinition 139
4.2.1 Die Deklaration von Objektvariablen 141
4.2.2 Zugriffsmodifizierer einer Klasse 142
4.2.3 Der Projekttyp »Klassenbibliothek« 143
4.2.4 Splitten einer Klassendefinition mit »Partial« 148
4.2.5 Zusammenfassung 149
4.3 Objektmethoden 149
4.3.1 Methoden mit Rückgabewert 149
4.3.2 Methoden ohne Rückgabewert 150
4.3.3 Der Aufruf einer Methode 151
4.3.4 Methoden mit Parameterliste 152
4.3.5 Rückgabewert einer Methode 153
4.3.6 Variablen in einer Methode 155
4.3.7 Zugriffsmodifizierer einer Methode 156
4.3.8 Referenz und Wertparameter 157
4.3.9 Parameter, die Objektreferenzen erwarten 159
4.3.10 Methodenüberladung 160
4.3.11 Optionale Parameter 161
4.3.12 Zusammenfassung 165
4.4 Objekteigenschaften 166
4.4.1 Ergänzung der Klasse »Circle« 170
4.4.2 Lese und schreibgeschützte Eigenschaften 171
4.4.3 Die Parameterliste einer Property Prozedur 172
4.4.4 Standardeigenschaften 174
4.4.5 DasWith . End With Statement 175
4.4.6 Konstanten mit »Const« und »ReadOnly« 176
4.4.7 Der Zugriff auf private Daten 177
4.4.8 Zusammenfassung 178
4.5 Konstruktoren 179
4.5.1 Die Konstruktoren in der Klasse »Circle« 179
4.5.2 Die Konstruktoraufrufe 180
4.5.3 Definition von Konstruktoren 181
4.5.4 »Friend« Konstruktoren 182
4.5.5 »Private« Konstruktoren 182
4.5.6 Konstruktorverkettung 182
4.5.7 Zusammenfassung 183
7
Inhalt
4.6 Der Destruktor 184
4.6.1 Das Zerstören von Objekten 184
4.6.2 Der Garbage Collector 184
4.6.3 Zusammenfassung 191
4.7 Arbeiten mit Objektreferenzen 191
4.7.1 Prüfen auf Initialisierung 191
4.7.2 Mehrere Referenzen auf ein Objekt 192
4.7.3 Typfeststellung einer Objektreferenz 193
4.7.4 Zusammenfassung 195
5.1 Statische Klassenkomponenten 197
5.1.1 Die Realisierung eines Objektzählers 197
5.1.2 Zugriff auf statische Komponenten 199
5.1.3 Statische Klassenvariable in der Klasse »Circle« 199
5.1.4 Klassenspezifische Methoden 201
5.1.5 Statische Methoden in der Klasse »Circle« 202
5.1.6 Statische Klasseninitialisierer 205
5.1.7 Zusammenfassung 208
5.2 Delegaten 208
5.2.1 Einführung in das Prinzip der Delegaten 208
5.2.2 Zusammenfassung der Arbeitsschritte 212
5.2.3 Vereinfachter Aufruf eines Delegaten 213
5.3 Ereignisse eines Objekts 213
5.3.1 Ergänzungeines Ereignisses in einer Ereignisquelle 214
5.3.2 Die Behandlung eines Ereignisses im Ereignisempfänger 216
5.3.3 Ereignisse mit Übergabeparameter 218
5.3.4 Die Handies Klausel 219
5.3.5 Die Registrierung eines Ereignishandlers mit »AddHandler« 220
5.3.6 Zusammenfassung 221
5.4 Strukturen eine Sonderform der Klassen 222
5.4.1 Die Definition einer Struktur 222
5.4.2 Initialisieren einer Struktur 224
5.4.3 Ereignisse in einer Struktur 225
5.4.4 Änderung der Klasse »Circle« 225
5.4.5 Zusammenfassung der Unterscheidungsmerkmale Klasse
Struktur 228
5.5 Enumerationen (Aufzählungen) 229
5.5.1 Alle Mitglieder einer Aufzählung durchlaufen 230
5.6 Referenz und Wertetypen 231
5.6.1 Typumwandlung mit Boxing 233
5.6.2 Die Unboxing Konvertierung 235
8
Inhalt
5.6.3 Zusammenfassung 235
5.7 Namensräume (Namespaces) 236
5.7.1 Zugriff auf Namespaces 237
5.7.2 Die »Imports« Anweisung 238
5.7.3 Aliasnamen zur Vermeidung von Mehrdeutigkeiten 240
5.7.4 Aufrufe mit »Global« umleiten 240
5.7.5 Namespaces festlegen 241
5.7.6 Zusammenfassung 243
6.1 Basisklassen und abgeleitete Klassen 245
6.1.1 Die Ableitung einer Klasse 246
6.1.2 Klassen, die nicht vererben können 247
6.1.3 Zusammenfassung 248
6.2 Konstruktoren in abgeleiteten Klassen 248
6.2.1 Allgemeines 248
6.2.2 Die Konstruktoren der Klasse »GraphicCircle« 249
6.2.3 Der Zugriffsmodifizierer »Protected« 250
6.2.4 Konstruktorverkettung 250
6.2.5 Finalizer Verkettung 255
6.2.6 Zusammenfassung 256
6.2.7 Der Stand des Projekts »CircleApplication« 256
6.3 Die Methoden in einer abgeleiteten Klasse 257
6.3.1 Geerbte Methoden mit »Shadows« verdecken 258
6.3.2 Überladen einer Basisklassenmethode 261
6.4 Ereignisse in der Vererbung 262
6.5 »Hat eine« Beziehungen (Aggregation) 264
6.5.1 Weiterleitung einer internen Objektreferenz 267
6.5.2 Verbergen des internen Objekts 267
6.5.3 Innere Klassen 269
6.6 Typumwandlung von Objektvariablen 274
6.6.1 Die implizite Typumwandlung von Objektreferenzen 274
6.6.2 Die explizite Typumwandlung von Objektreferenzen 276
6.6.3 Zusammenfassung 277
6.7 Abstrakte Klassen und Methoden 278
6.7.1 Problembeschreibung 278
6.7.2 Abstrakte Definitionen 278
6.8 Polymorphie 280
6.8.1 Überschreibbare Methoden mit »Overridable« 282
6.8.2 Inhomogene Mengen 283
6.8.3 Verdecken und Überschreiben geerbter Methoden 285
9
Inhalt
6.8.4 Überschreiben der Methode »ToStringO«
der Klasse »Object« 287
6.8.5 Nicht überschreibbare Methoden 288
6.8.6 Die Referenzen »Me«, »MyBase« und »MyClass« 288
6.8.7 Zusammenfassung 290
6.9 Erweiterung der Klassenhierarchie »CircleApplication« 290
6.9.1 Die Klasse »GeometricObject« 295
6.10 Schnittstellen 301
6.10.1 Einführung in die Schnittstellen 301
6.10.2 Schnittstellendefinition 302
6.10.3 Schnittstellenimplementierung 302
6.10.4 Abstrakte Klassen vs. Schnittstellen 308
6.10.5 Zusammenfassung 315
7.1 Operatorüberladung 317
7.1.1 Die Syntax der Operatorüberladung 317
7.1.2 Beispiel einer Operatorüberladung 318
7.1.3 Überladung der Operatoren »True« und »False« 320
7.1.4 Benutzerdefinierte Konvertierungen 321
7.2 Collections (Auflistungen) 325
7.2.1 Die elementaren Schnittstellen der Auflistungsklassen 326
7.2.2 Die Schnittstelle »IList« 328
7.2.3 Die Klasse »Arrayüst« 328
7.2.4 Das Sortieren der Elemente einer »ArrayList« 332
7.2.5 Die Schnittstelle »IDictionary« 340
7.2.6 Die Klasse »Hashtable« 341
7.2.7 Die Klassen »Queue« und »Stack« 345
7.2.8 Objektauflistungen im Überblick 347
7.2.9 Benutzerdefinierte Auflistungen 349
7.3 Generics 355
7.3.1 Ein paar allgemeine Worte 355
7.3.2 Die Typproblematik am Beispiel der Klasse »Stack« 355
7.3.3 Die Lösung mit einer generischen Klasse 357
7.3.4 Typparameter mit Constraints einschränken 358
7.3.5 Generische Methoden 360
7.3.6 Generics und Vererbung 361
7.3.7 Generische Klassen in der .NET Klassenbibliothek 361
7.4 Fortgeschrittene Delegat Techniken 362
7.4.1 Eine Beispielanwendung 362
7.4.2 Multicast Delegaten 366
10
Inhalt
7.5 Attribute 369
7.5.1 Das »Flags« Attribut 369
7.5.2 Anmerkungen zu den Attributen 370
7.5.3 Benutzerdefinierte Attribute 371
8.1 Die XML Dokumentation 379
8.1.1 XML Kommentare 379
8.1.2 Die XML Kommentar Tags 381
8.1.3 Generieren der XML Dokumentationsdatei 383
8.2 Der Klassendesigner (Class Designer) 384
8.2.1 Ein typisches Klassendiagramm 385
8.2.2 Hinzufügen von Klassendiagrammen 386
8.2.3 Die Toolbox des Klassendesigners 388
8.2.4 Das Fenster »Klassendetails« 389
8.2.5 Das Klassendiagramm um Typen erweitern 391
8.2.6 Vererbungsbeziehungen definieren 392
8.2.7 Zuordnungen festlegen 393
8.2.8 Klassendiagramme als Bilder exportieren 393
8.3 Refactoring 394
8.3.1 Methode extrahieren 394
8.3.2 Umbenennen von Bezeichnern 396
8.3.3 Felder kapseln 397
8.3.4 Initialisierung und Deklaration zusammenführen oder
trennen 398
8.3.5 Neuanordnung der Parameterliste 399
8.4 Code Snippets (Codeausschnitte) 399
8.4.1 Codeausschnitte einfügen 400
8.4.2 Die Anatomie eines Codeausschnitts 400
9.1 Die Behandlung von Laufzeitfehlern 403
9.1.1 Laufzeitfehler erkennen 404
9.1.2 Die Behandlung von Exceptions 406
9.1.3 Die »Try . Catch« Anweisung 407
9.1.4 Behandlung mehrerer Exceptions 409
9.1.5 Die »Finally« Anweisung 410
9.1.6 Das Weiterleiten von Ausnahmen 412
9.1.7 Die Hierarchie der Exceptions 418
9.1.8 Die Reihenfolge der »Catch« Klauseln 419
9.1.9 Die Basisklasse »Exception« 420
9.1.10 Benutzerdefinierte Exceptions 421
11
Inhalt
9.2 Debuggen mit Programmcode 424
9.2.1 Einführung 424
9.2.2 Die Klasse »Debug« 425
9.2.3 Die Klasse »Trace« 428
9.2.4 Ablaufverfolgung mit »TraceListener« Objekten 429
9.2.5 Steuerung der Protokollierung mit Schaltern 434
9.2.6 Bedingte Kompilierung 438
9.3 Debuggen mit dem Visual Studio 2005 440
9.3.1 Debuggen im Haltemodus 440
9.3.2 Das »Befehlsfenster« 443
9.3.3 Weitere Alternativen, um Variableninhalte zu prüfen 444
9.4 Das Objekttestcenter (Object Test Bench OTB) 445
10.1 Die Klasse »Object« 449
10.1.1 Der Konstruktor 449
10.1.2 Die Methoden der Klasse »Object« 449
10.2 Die Klasse »String« 457
10.2.1 Das Erzeugen eines Strings 458
10.2.2 Unveränderliche »String« Objekte 459
10.2.3 Die Eigenschaften von »String« 460
10.2.4 Die Methoden der Klasse »String« 461
10.2.5 Zusammenfassung der Klasse »String« 471
10.3 Die Klasse »StringBuilder« 472
10.3.1 Allgemeines 472
10.3.2 Die Kapazität eines »StringBuilder« Objekts 472
10.3.3 Die Konstruktoren der Klasse »StringBuilder« 473
10.3.4 Die Eigenschaften der Klasse »StringBuilder« 473
10.3.5 Die Methoden der Klasse »StringBuilder« 474
10.3.6 Allgemeine Anmerkungen 477
10.4 Der Typ »DateTime« 477
10.4.1 Die Zeitspanne »Tick« 477
10.4.2 Die Konstruktoren von »DateTime« 478
10.4.3 Die Eigenschaften von »DateTime« 479
10.4.4 Die Methoden der Klasse »DateTime« 480
10.4.5 Die Klasse »TimeSpan« 483
10.5 Die Klasse »Array« 486
10.5.1 Das Erzeugen eines »Array« Objekts 487
10.5.2 Die Eigenschaften eines »Array« Objekts 488
10.5.3 Die Methoden der Klasse »Array« 489
10.5.4 Array Elemente sortieren 491
12
Inhalt
10.6 Ausgabeformatierung 492
10.6.1 Formatierung mit der Methode »String.Format« 492
10.6.2 Formatierung mit der Methode »ToString« 495
10.6.3 Benutzerdefinierte Formatierung 496
11.1 Prozesse und Threads 499
11.1.1 Multithreading 499
11.1.2 Thread Zustände und Prioritäten 500
11.1.3 Einsatz von mehreren Threads 502
11.2 Die Entwicklung einer Multithreading Anwendung 502
11.2.1 Die Klasse »Thread« 505
11.2.2 Threadpools nutzen 518
11.3 Die Synchronisation von Threads 520
11.3.1 Unsynchronisierte Threads 520
11.3.2 Der »Monitor« zur Synchronisation 522
11.3.3 Das Synchronisationsobjekt »Mutex« 532
11.3.4 Das Attribut »MethodImpl« 533
11.4 Asynchrone Methodenaufrufe 533
11.4.1 Eine kleine Einführung 533
11.4.2 Asynchroner Methodenaufruf 535
11.4.3 Asynchroner Aufruf mit Rückgabewerten 541
11.4.4 Eine Klasse mit asynchronen Methodenaufrufen 544
12.1 Einführung 549
12.2 Namespaces der Ein bzw. Ausgabe 550
12.2.1 Das Behandeln von Ausnahmen bei E/A Operationen 551
12.3 Laufwerke, Verzeichnisse und Dateien 551
12.3.1 Die Klasse »File« 551
12.3.2 Die Klasse »Fileinfo« 560
12.3.3 Die Klassen »Directory« und »Directoryinfo« 562
12.3.4 Die Klasse »Path« 566
12.3.5 Die Klasse »DriveInfo« 568
12.3.6 Die Klasse »SpecialDirectories« 569
12.4 Die »Stream« Klassen 570
12.4.1 Die abstrakte Klasse »Stream« 571
12.4.2 Die von »Stream« abgeleiteten Klassen im Überblick 573
12.4.3 Die Klasse »FileStream« 574
12.5 Die Klassen »TextReader« und »TextWriter« 580
12.5.1 Die Klasse »StreamWriter« 581
13
Inhalt
12.5.2 Die Klasse »StreamReader« 584
12.5.3 Die Klassen »StringWriter« und »StringReader« 587
12.6 Die Klassen »BinaryReader« und »BinaryWriter« 588
12.6.1 Komplexe binäre Dateien 591
12.7 Synchrone und asynchrone Operationen 597
12.7.1 Beispielprogramm eines asynchronen Schreibvorgangs 598
13.1 Einführung in die Serialisierung 601
13.1.1 Serialisierungsverfahren 602
13.2 Serialisierung mit »Binar/Formatter« 602
13.3 Serialisierung mit »SoapFormatter« 609
13.4 Serialisierung mit »XmlSerializer« 609
13.4.1 XML Serialisierung mit Attributen steuern 611
14.1 Assemblies 615
14.1.1 Die Struktur einer Assembly 617
14.1.2 Einzeldatei Assemblies 623
14.1.3 Mehrfachdatei Assemblies 625
14.1.4 Private und globale Assemblies 631
14.1.5 Festlegen der Assembly Eigenschaften 639
14.2 Die Metadaten mittels Reflexion abfragen 641
14.2.1 Was ist Reflexion? 641
14.2.2 Der Mittelpunkt der Reflexion: die Klasse »Type« 641
15.1 Die Entwicklungsumgebung 645
15.2 Eine erste Windows Anwendung 647
15.3 Die Internas einer Windowsanwendung 652
15.3.1 Projekteinstellungen 655
15.3.2 Das Anwendungsframework 655
15.3.3 Die Klasse »MyApplication« 656
15.3.4 Die Ereignisse des »MyApplication« Objekts 657
15.4 Ereignisse grafischer Windows Komponenten 660
15.4.1 Grundlegende Anmerkungen 660
15.4.2 Ereignisse mit Ereignisdaten 662
15.4.3 Ereignishandler mit dem Visual Studio 2005 bereitstellen 663
15.4.4 Ereignisbehandlung mit den »OnXxx« Methoden 664
15.5 Die Basisklassen einer Form 666
15.5.1 Die Klasse »Control« 666
14
Inhalt
15.5.2 Die Klasse »ScrollableControl« 667
15.5.3 Die Klasse »ContainerControl« 667
15.6 Die Eigenschaften einer Form 668
15.6.1 Die Rahmendarstellung einer Form 668
15.6.2 Formspezifisches Symbol festlegen 669
15.6.3 Die Schaltflächen in der Titelleiste 670
15.6.4 Spielereien mit »Opacity« und »TransparencyKey« 670
15.6.5 Fenster, die nicht verdeckt werden können 670
15.6.6 Den Mauszeiger verändern 671
15.6.7 Farbeinstellungen mit dem Typ »Color« 671
15.6.8 Schriftart mit dem Typ »Font« 673
15.6.9 Die Abmessungen einer Form festlegen 677
15.6.10 Die Position eines Fensters 678
15.6.11 Die Anzeigezustand eines Fensters nach dem öffnen 680
15.6.12 Die Arbeitsfläche des Fensters (der Clientbereich) 680
15.6.13 Die Auflistung »ControlsCollection« 680
15.6.14 Zusammenfassung der Eigenschaften des Form Objekts 681
15.7 Ereignisse einer Form 683
15.7.1 Ereignisse beim Erzeugen eines Fenster 683
15.7.2 Größenänderung einer Form 684
15.7.3 Ereignisse beim Schließen eines Fensters 684
15.8 Anwendungen mit mehreren Fenstern 686
15.8.1 Neue Forms hinzufügen 686
15.8.2 Formulare laden, anzeigen, verstecken und schließen 687
15.8.3 Mehrere Fenster verwalten 688
15.8.4 Formulare in einem eigenen Thread laufen lassen 692
15.8.5 Splash Fenster 693
15.9 Modale Dialogfenster 696
15.9.1 Layout eines Dialogfensters 696
15.9.2 Die Eigenschaft »DialogResult« 696
15.9.3 Eine Form modal öffnen 698
15.9.4 Die Weitergabe von Resultaten aus einem Dialog 699
15.9.5 Fokussierreihenfolge und Standardschaltflächen 702
15.10 Meldungsfenster mit »MessageBox« 703
15.10.1 Die Methode »MessageBox.Show« 704
15.10.2 Der Rückgabewert der Meldungsfenster 706
15.11 Das Speichern in der Registrierungsdatenbank 707
15.11.1 Die Klassen »Registry« und »RegistrKey« 707
15.11.2 Programmbeispiel zum Speichern in der Registrierung 711
15.12 Die Klasse »Application« 713
15.12.1 Die Datei »Assemblylnfo.vb« 713
15.12.2 Mit »Application.DoEvents« wartende Ereignisse abrufen 713
15.12.3 Zusammenfassung Eigenschaften und Methoden 715
15
Inhalt
16.1 Gemeinsame Eigenschaften, Methoden und Ereignisse 717
16.1.1 Größe und Position 717
16.1.2 Die Sichtbarkeit und der Aktivierungszustand 718
16.1.3 Die Eigenschaft »Text« 719
16.1.4 Die Farbeigenschaften 719
16.1.5 Grafische Darstellung 719
16.1.6 Die »Modifiers« Eigenschaft 719
16.1.7 Die Eigenschaft »Tag« 720
16.1.8 Die Größe von Steuerelementen dynamisch
der Formgröße anpassen 720
16.1.9 Die »Dock« Eigenschaft 721
16.1.10 Die z Reihenfolge 722
16.1.11 Die Tabulatorreihenfolge 722
16.1.12 Steuerelemente fokussieren 723
16.1.13 Maus und Tastaturereignisse 725
16.2 Schaltflächen der Klasse »Button« 726
16.2.1 Die Rahmendarstellung einer Schaltfläche 726
16.2.2 Die Eigenschaft »FlatAppearance« 728
16.2.3 Beschriftung und Grafiken 728
16.2.4 Weitere Gestaltungsmöglichkeiten 730
16.3 Auswahlkästchen mit der Klasse »CheckBox« 730
16.3.1 Eigenschaften eines Kontrollkästchens 733
16.3.2 Checkboxen mit drei Aktivierungszuständen 734
16.4 Die Klasse »RadioButton« (Optionsschaltflächen) 735
16.4.1 Die Gruppierung der Optionsschaltflächen 735
16.4.2 Die Eigenschaften von Optionsschaltflächen 736
16.4.3 Den Zustandswechsel programmieren 736
16.5 Die »GroupBox« als übergeordneter Container 737
16.6 Texteingabefelder mit der Klasse »TextBox« 738
16.6.1 Einzeilige Eingabefelder 738
16.6.2 Mehrzeilige Eingabefelder 747
16.7 Das Steuerelement »RichTextBox« 749
16.8 Beschriftungen mit dem Steuerelement »Label« 752
16.9 Das »LinkLabel« Steuerelement 753
16.10 Die Anzeige eines Quicklnfo Texts 755
16.10.1 Methoden des »ToolTip« Steuerelements 755
16.10.2 Aktivierungsdauer des »Quicklnfo« Steuerelements 757
16.10.3 Weitere Eigenschaften 757
16.11 Das »ListBox« Steuerelement 75g
16.11.1 Die Auflistung »ListBox.ObjectCollection« 758
16.11.2 Eigenschaften zur Darstellung einer Listbox 761
16
Inhalt
16.11.3 Einfach und Mehrfachauswahl der Listenelemente 763
16.11.4 Programmatischer Zugriff auf Listboxen mit Einfachauswahl 763
16.11.5 Benutzerdefiniertes Sortieren der Listenelemente 769
16.11.6 Füllen einer Listbox mit »DataSource« 771
16.12 Das Steuerelement »CheckedListBox« 774
16.13 Die »ComboBox« (Kombinationslistenfeld) 775
16.13.1 Ereignisse eines Kombinationslistenfeldes 776
16.13.2 Autovervollständigung in einer »ComboBox« 777
17.1 Einführung in die Standarddialoge 779
17.1.1 Das Öffnen eines Standarddialogs 779
17.2 Die Klasse »OpenFileDialog« 780
17.2.1 Die Beschriftung der Titelleiste 780
17.2.2 Festlegen eines Standardverzeichnisses 781
17.2.3 Die Klasse »Environment« 781
17.2.4 Einen Dateifilter setzen 783
17.2.5 Die ausgewählte Datei 785
17.2.6 Mehrfachauswahl von Dateien 785
'M.2.1 Zusammenfassung der Eigenschaften und Methoden 785
17.2.8 Ereignisse von »OpenFileDialog« 786
17.2.9 Das Beispiel »Texteditor« 786
17.3 Die Klasse »SaveFileDialog« 788
17.3.1 Der Speichern Dialog am Beispiel »TexteditorVers2« 790
17.4 Der Dialog »FolderBrowserDialog« 795
17.5 Die Klasse »ColorDialog« 796
17.6 Die Klasse »FontDialog« 798
18.1 Das Steuerelement »ToolStripContainer« 802
18.2 Bereitstellen eines Menüs 803
18.2.1 Die Hierarchie der Menüklassen 803
18.2.2 Das Erzeugen eines Menüs 805
18.2.3 Die Eigenschaften der Menüelemente »ToolStripMenultem« . 808
18.2.4 »ToolStripComboBox« und »ToolStripTextBox« 812
18.2.5 Ereignisse 812
18.2.6 Beispielprogramm 814
18.3 Kontextmenüs 817
18.3.1 Das Standardverhalten eines Kontextmenüs ändern 817
18.3.2 Ereignisse des Kontextmenüs 818
18.3.3 Das Kontextmenü einer Textbox 819
V
Inhalt
18.4 Die Zwischenablage 819
18.4.1 Speichern und Abrufen von Daten aus der Zwischenablage 819
18.4.2 Andere Methoden, um Daten in die Zwischenablage
zu schreiben und abzurufen 822
18.4.3 Mehrere Datenformate in der Zwischenablage 823
18.4.4 Eigene Datenformate in die Zwischenablage schreiben 825
18.4.5 Leeren der Zwischenablage 826
18.4.6 Beispielprogramm das Menü »Bearbeiten« 826
18.5 Die Symbolleiste 831
18.5.1 Die Eigenschaften der Symbolleistenschaltflächen 832
18.5.2 DropDown Buttons in Symbolleisten 834
18.5.3 Ein Zwitter vom Typ »ToolStripSplitButton 834
18.5.4 Comboboxen in Symbolleisten 835
18.5.5 Textboxen in Symbolleisten 835
18.5.6 Fortschrittsbalken (ProgressBar) 836
18.5.7 Die Ereignisse der Symbolleiste programmieren 836
18.5.8 Beispiel einer komplexeren Symbolleiste 837
18.6 Die Statusleiste 840
18.6.1 Eine Statusleiste bereitstellen 840
18.6.2 Die in der Statusleiste integrierten Steuerelemente 841
19.1 Bildlaufleisten mit »HScrollBar« und »VScrollBar« 843
19.2 Schieberegler mit der Klasse »TrackBar« 845
19.3 Das »ProgressBar« Steuerelement 848
19.4 Drehfeld Steuerelemente (»UpDown« Steuerelemente) 851
19.4.1 Das »NumericUpDown« Steuerelement 851
19.4.2 Das »DomainUpDown« Steuerelement 852
19.5 Das »Timer« Steuerelement 854
19.6 Die Klasse »ErrorProvider« 855
19.7 Steuerelemente für die Datums und Zeitangabe 857
19.7.1 Das Steuerelement »MonthCalendar« 857
19.7.2 Das Steuerelement »DateTimePicker« 859
19.8 Das »Panel« Steuerelement 861
19.9 Das Steuerelement »Notifylcon« 862
19.10 Bildanzeige mit »PictureBox« 866
19.11 Eine Liste mit Symbolen mit »ImageList« bereitstellen 867
19.11.1 Die Eigenschaften der Klasse »ImageList« 867
19.11.2 Die Bildliste füllen 868
19.12 Registerkarten mit »TabControl« 868
19.12.1 Die Klasse »TabControl« 868
19.12.2 Objekte vom Typ »TabPage« 874
18
Inhalt
19.13 Das »TreeView« Steuerelement 874
19.13.1 Knotenpunkte im »TreeView« definieren 875
19.13.2 Eigenschaften des »TreeView« Steuerelements 880
19.13.3 Die Unterstützung der Entwicklungsumgebung 883
19.13.4 Die Ereignisse des »TreeView« Steuerelements 884
19.13.5 Weitere Eigenschaften und Methoden
des »TreeView« Objekts 885
19.13.6 Eigenschaften und Methoden des »TreeNode« Objekts 886
19.13.7 Beispiel zum Einlesen der Verzeichnisstruktur 887
19.14 Die beiden »Splitter« Steuerelemente 891
19.14.1 Das Steuerelement »Splitter« 891
19.14.2 Das Steuerelement »SplitContainer« 896
19.15 Das »ListView« Steuerelement 897
19.15.1 Die Klassen des »ListView« Steuerelements 897
19.15.2 Die Eigenschaften der »ListView« 898
19.15.3 Listenelemente vom Typ »ListViewItem« 902
19.15.4 Das Element »ListViewSubltem« 904
19.15.5 Der Typ »ColumnHeader« 905
19.15.6 Listenelemente Gruppen zuordnen 905
19.15.7 Sortierung der Spalten 907
19.15.8 Listenelemente ändern 910
20.1 Die Tastaturschnittstelle 911
20.1.1 Die Tastaturereignisse im Überblick 911
20.1.2 Die Ereignisse »KeyDown« und »KeyUp« 912
20.1.3 Das Ereignis »KeyPress« 918
20.1.4 Die Tastaturereignisse der Form 921
20.1.5 Senden von Tastatureingaben 922
20.2 Die Mausschnittstelle 923
20.2.1 Die Ereignisse »MouseDown«, »MouseMove«
und »MouseUp« 924
20.2.2 Weitere Mausereignisse 927
20.2.3 Die »Click« Ereignisse 927
20.2.4 Eigenschaften der Maus 928
21.1 Einführung 931
21.2 Das MDI Hauptfenster 932
21.3 Die Subfenster 933
19
Inhalt
21.4 Zugriff auf die Subfenster 934
21.4.1 Zugriff auf alle Subfenster 934
21.4.2 Zugriff auf das aktive Subfenster 935
21.5 Das Menü in einer MDI Anwendung 935
21.5.1 Subfenster anordnen 936
21.5.2 Subfenster mit eigenen Menüs 937
21.6 Symbol und Statusleiste des Subfensters 939
21.7 Die Liste der geöffneten untergeordneten Fenster 939
21.8 Beispiel einer MDI Anwendung 939
22.1 Die Namespaces der GDI+ Schnittstelle 943
22.2 Die Klasse »Graphics« 944
22.2.1 Überblick über die Klasse »Graphics« 944
22.2.2 Sich die Referenz auf das »Graphics« Objekt besorgen 944
22.2.3 Das Neuzeichnen einer Grafik mit »ResizeRedraw«
und »Invalidate« 947
22.2.4 Zerstören von grafischen Objekten 949
22.2.5 Das Koordinatensystem von GDI+ 950
22.2.6 Festlegen eines anderen Ursprungspunkts 952
22.2.7 Die grafischen Methoden der Klasse »Graphics« 954
22.2.8 Eine Linie zeichnen 955
22.2.9 Mehrere Linien zeichnen 955
22.2.10 Rechtecke zeichnen 956
22.2.11 Punkte zeichnen 957
22.2.12 Polygone zeichnen 958
22.2.13 Ellipsen, Ellipsenbogen und Ellipsensegment 958
22.2.14 Kurvenzüge 959
22.2.15 Bezierkurven 960
22.3 Elementare Klassen für grafische Operationen 961
22.3.1 Die Klasse »Brush« 962
22.3.2 Die Klasse »Pen« 970
22.3.3 Farbeinstellungen mit »Color« 977
22.4 Die Schriftdarstellung 978
22.4.1 Allgemeines 978
22.4.2 Die Klassen »Font« und »FontFamily« 978
22.4.3 Der Schriftstil mit »FontStyle« 979
22.4.4 Die grafische Ausgabe einer Zeichenfolge 979
22.4.5 Die Abmessungen mit »MeasureString« ermitteln 981
22.4.6 Die Klasse »StringFormat« 981
22.5 Bilddateien 982
22.5.1 Raster und Vektorgrafiken 982
20
Inhalt
22.5.2 Bilder und Grafiken der .NET Klassenbibliothek 984
22.5.3 Die Bitmap Dateiformate 984
22.5.4 Bilder mit der Klasse »Image« 985
22.5.5 Bitmaps 989
23.1 Ein einführender Überblick 997
23.2 Einen Druckauftrag mit »PrintDocument« erteilen 998
23.2.1 Methoden und Eigenschaften von PrintDocument 998
23.2.2 Die Ereignisse eines »PrintDocument« Objekts 999
23.2.3 Die Ereignisse »BeginPrint« und »EndPrint« 999
23.2.4 Das Ereignis »QueryPageSettings« 1000
23.2.5 Das Ereignis »PrintPage« 1000
23.2.6 Das Beenden des Druckauftrags 1004
23.2.7 Programmbeispiel 1005
23.3 Seiteneinstellungen mit »PageSettings« 1006
23.4 Der Drucker als »PrinterSettings« Objekt 1008
23.4.1 Mehrere installierte Drucker 1008
23.4.2 Wichtige Eigenschaften des »PrinterSettings« Objekts 1008
23.5 Die Steuerelemente zum Drucken 1009
23.5.1 Das »PrintDocument« Steuerelement 1009
23.5.2 Das »PrintDialog« Steuerelement 1010
23.5.3 Das »PageSetupDialog« Steuerelement 1011
23.5.4 Das »PrintPreviewDialog« Steuerelement 1013
23.5.5 Das »PrintPreviewControk Steuerelement 1013
23.6 Drucken von Grafiken 1018
23.6.1 Das Problem der verschiedenen Maßeinheiten 1018
23.6.2 Festlegung der Einheiten und Skalierung 1019
23.6.3 Beispielprogramm zum Drucken einer Grafik 1019
24.1 Drag Drop Operationen 1023
24.1.1 Der Ablauf einer Drag Drop Operation 1023
24.1.2 Das Einleiten einer Drag Drop Operation 1024
24.1.3 Die Ereignisse des Empfängers einer Drag Drop Operation . 1024
24.1.4 Programmbeispiele 1027
24.2 Entwickeln vom Windows Dienstanwendungen 1034
24.2.1 Einführung 1034
24.2.2 »Windows Dienst« Projekte in der Entwicklungsumgebung 1036
24.2.3 Die Methoden eines Dienstes 1037
24.2.4 Die Eigenschaften eines Dienstes 1038
21
Inhalt
24.2.5 Die Installation eines Windows Dienstes 1040
24.2.6 Beispielprogramm »FileWatchService« 1042
25.1 Einführung 1047
25.1.1 Entwicklungsszenarien 1047
25.1.2 Testen eines Steuerelements 1048
25.2 Steuerelemente mit »UserControl« 1049
25.2.1 Beispielprogramm eines Benutzersteuerelements 1050
25.2.2 Die Eigenschaften des Benutzersteuerelements 1053
25.2.3 Attribute zur Beeinflussung eines Benutzersteuerelements 1054
25.2.4 Ereignisse des Benutzersteuerelements 1057
25.2.5 Bereitstellen einer Toolbox Bitmap 1059
25.2.6 Zusammenfassung des Codes für »EllipseLabel« 1060
25.3 Ableiten eines vorhandenen Steuerelements 1062
25.4 Ein eigenes Steuerelement entwerfen 1063
26.1 Eine kleine Einführung 1067
26.2 Die Verbindung zu einer Datenquelle herstellen 1068
26.2.1 Der Inhalt der Verbindungszeichenfolge 1069
26.2.2 Die Authentifizierung 1071
26.2.3 Das Öffnen einer Verbindung 1071
26.2.4 Schließen einer Verbindung 1072
26.2.5 Die Dauer des Verbindungsaufbaus 1072
26.2.6 Eigenschaften eines »Connection« Objekts 1073
26.2.7 Die Ereignisse eines »Connection« Objekts 1074
26.2.8 Unterstützung bei Projekten mit grafischer
Benutzeroberfläche 1074
26.3 Das »Command« Objekt 1076
26.3.1 Erzeugen eines »Command« Objekts 1076
26.3.2 Ausführen des »Command« Objekts 1076
26.3.3 Aktionsabfragen mit »ExecuteNonQuery« absetzen 1077
26.3.4 Auswahlabfragen mit »ExecuteReader« 1078
26.3.5 Abfragen, die genau ein Ergebnis liefern 1080
26.3.6 Parametrisierte Abfragen 1081
26.3.7 Die Unterstützung des Visual Studios 2005 1083
26.4 Der »DataAdapter« als Bindeglied zwischen Datenbank und
verbindungslosen Objekten 1084
26.4.1 Die Konstruktoren der Klasse »DataAdapter« 1086
26.4.2 Den lokalen Datenspeicher mit der Methode »Fill« füllen 1086
22
Inhalt
26.4.3 Abrufen von Schemainformationen 1090
26.4.4 Die Unterstützung des Visual Studios 2005 1096
26.5 Das »DataSet« Objekt 1098
26.5.1 Allgemeines 1098
26.5.2 Ein »DataSet« Objekt erzeugen 1099
26.5.3 Das DataSet füllen 1099
26.5.4 Tabellen und Spaltenbezeichner zuordnen 1099
26.6 »DataTable« Objekte 1104
26.6.1 Die Zeilen und Spalten in einer »DataTable« 1104
26.6.2 Mit mehreren Tabellen arbeiten 1107
26.6.3 Änderungen an einer »DataTable« vornehmen 1111
26.6.4 Datenausgabe in WinForms mit dem Visual Studio 2005 1115
26.7 Aktualisieren der Datenbank 1123
26.7.1 Aktualisieren mit dem »CommandBuilder« Objekt 1123
26.7.2 Manuell gesteuerte Aktualisierungen 1126
26.7.3 Aktualisieren mit »ExecuteNonQuery« 1127
26.7.4 Manuelles Aktualisieren mit dem DataAdapter 1134
26.7.5 Den zu aktualisierenden Datensatz in der Datenbank suchen . 1137
26.7.6 Den Benutzer über die fehlgeschlagenen Aktualisierungen
informieren 1141
26.7.7 Die konfliktverursachenden Datenzeilen bei der
Datenbank abfragen 1144
27.1 Konfigurationsdateien 1149
27.1.1 Einführung 1149
27.1.2 Die verschiedenen Konfigurationsdateien 1151
27.1.3 Die Struktur einer Anwendungskonfigurationsdatei 1153
27.1.4 Konfigurationsdateien mit Visual Studio 2005 bereitstellen 1156
27.1.5 Einträge der Anwendungskonfigurationsdatei auswerten 1158
27.1.6 Die Klassen »Configuration« und »ConfigurationManager« 1161
27.1.7 Editierbare, anwendungsbezogene Einträge
mit appSettings 1162
27.1.8 Auswertung der Verbindungszeichenfolgen 1165
27.1.9 Beispielprogramm mit einer
Anwendungskonfigurationsdatei 1166
27.1.10 Die Herausgeberrichtliniendatei 1172
27.2 Lokalisierung von Programmen 1173
27.2.1 Lokalisierung von Komponenten 1174
27.2.2 Zusätzliche Lokalisierungsdateien 1177
27.3 Weitergabe von Anwendungen 1178
27.3.1 Allgemeine Anmerkungen 1178
23
Inhalt
27.3.2 Weitergabeprojekte 1179
27.3.3 Der »Windows Installer« 1180
27.3.4 Weitergabeprojekte mit dem »Setup Assistenten« 1181
27.3.5 Die Editoren eines Weitergabeprojekts 1183
27.3.6 Der »Dateisystem Editor« 1185
27.3.7 Der »Registrierungs Editor« 1192
27.3.8 Der »Dateityp Editor« 1194
27.3.9 Der »Benutzeroberflächen Editor« 1197
27.3.10 Der »Editor für benutzerdefinierte Aktionen« 1207
27.3.11 Der »Editor für Startbedingungen« 1208
27.4 »ClickOnce« Verteilung 1213
27.4.1 Allgemeine Beschreibung 1213
27.4.2 Erstellen einer ClickOnce Anwendung 1214
27.4.3 Die Installation einer ClickOnce Anwendung 1218
Über den Autor 1221
Index 1223
24 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Kühnel, Andreas |
author_GND | (DE-588)1028663412 |
author_facet | Kühnel, Andreas |
author_role | aut |
author_sort | Kühnel, Andreas |
author_variant | a k ak |
building | Verbundindex |
bvnumber | BV021836225 |
classification_rvk | ST 250 |
classification_tum | DAT 357f |
ctrlnum | (OCoLC)180138692 (DE-599)BVBBV021836225 |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 2., aktualisierte und erw. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV021836225</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20231121</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">061201s2007 gw ad|| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">06,A50,0071</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">981711650</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783898425858</subfield><subfield code="c">Pp. : EUR 59.90 (DE), EUR 61.60 (AT), sfr 96.90</subfield><subfield code="9">978-3-89842-585-8</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3898425851</subfield><subfield code="c">Pp. : EUR 59.90 (DE), EUR 61.60 (AT), sfr 96.90</subfield><subfield code="9">3-89842-585-1</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783898425858</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)180138692</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV021836225</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-20</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-91G</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 357f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Kühnel, Andreas</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1028663412</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Visual Basic 2005</subfield><subfield code="b">das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0]</subfield><subfield code="c">Andreas Kühnel</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2., aktualisierte und erw. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Galileo Press</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1233 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield><subfield code="e">2 CD-ROMs (12 cm)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Galileo computing</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">VisualBASIC 2005</subfield><subfield code="0">(DE-588)4828515-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">CD-ROM</subfield><subfield code="0">(DE-588)4139307-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">ADO.NET 2.0</subfield><subfield code="0">(DE-588)7518663-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">VisualBASIC 2005</subfield><subfield code="0">(DE-588)4828515-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">ADO.NET 2.0</subfield><subfield code="0">(DE-588)7518663-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">CD-ROM</subfield><subfield code="0">(DE-588)4139307-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=2868422&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="q">text/html</subfield><subfield code="u">http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-741?GalileoSession=44769355A2.QRDdLmRM</subfield><subfield code="3">Ausführliche Beschreibung</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.gbv.de/dms/ilmenau/toc/491782810.PDF</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015048151&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-015048151</subfield></datafield></record></collection> |
id | DE-604.BV021836225 |
illustrated | Illustrated |
index_date | 2024-07-02T15:58:50Z |
indexdate | 2024-09-04T00:05:42Z |
institution | BVB |
isbn | 9783898425858 3898425851 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-015048151 |
oclc_num | 180138692 |
open_access_boolean | |
owner | DE-20 DE-1051 DE-706 DE-634 DE-11 DE-91G DE-BY-TUM |
owner_facet | DE-20 DE-1051 DE-706 DE-634 DE-11 DE-91G DE-BY-TUM |
physical | 1233 S. Ill., graph. Darst. 2 CD-ROMs (12 cm) |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Galileo Press |
record_format | marc |
series2 | Galileo computing |
spelling | Kühnel, Andreas Verfasser (DE-588)1028663412 aut Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] Andreas Kühnel 2., aktualisierte und erw. Aufl. Bonn Galileo Press 2007 1233 S. Ill., graph. Darst. 2 CD-ROMs (12 cm) txt rdacontent n rdamedia nc rdacarrier Galileo computing VisualBASIC 2005 (DE-588)4828515-8 gnd rswk-swf CD-ROM (DE-588)4139307-7 gnd rswk-swf ADO.NET 2.0 (DE-588)7518663-9 gnd rswk-swf VisualBASIC 2005 (DE-588)4828515-8 s DE-604 ADO.NET 2.0 (DE-588)7518663-9 s CD-ROM (DE-588)4139307-7 s text/html http://deposit.dnb.de/cgi-bin/dokserv?id=2868422&prov=M&dok_var=1&dok_ext=htm Inhaltstext text/html http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-741?GalileoSession=44769355A2.QRDdLmRM Ausführliche Beschreibung http://www.gbv.de/dms/ilmenau/toc/491782810.PDF Inhaltsverzeichnis HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015048151&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Kühnel, Andreas Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] VisualBASIC 2005 (DE-588)4828515-8 gnd CD-ROM (DE-588)4139307-7 gnd ADO.NET 2.0 (DE-588)7518663-9 gnd |
subject_GND | (DE-588)4828515-8 (DE-588)4139307-7 (DE-588)7518663-9 |
title | Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] |
title_auth | Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] |
title_exact_search | Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] |
title_exact_search_txtP | Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] |
title_full | Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] Andreas Kühnel |
title_fullStr | Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] Andreas Kühnel |
title_full_unstemmed | Visual Basic 2005 das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] Andreas Kühnel |
title_short | Visual Basic 2005 |
title_sort | visual basic 2005 das umfassende handbuch spracheinfuhrung objektorientierung programmiertechniken windows programmierung neue features von visual studio 2005 einfuhrung in ado net 2 0 |
title_sub | das umfassende Handbuch ; [Spracheinführung, Objektorientierung, Programmiertechniken, Windows-Programmierung ; neue Features von Visual Studio 2005 ; Einführung in ADO.NET 2.0] |
topic | VisualBASIC 2005 (DE-588)4828515-8 gnd CD-ROM (DE-588)4139307-7 gnd ADO.NET 2.0 (DE-588)7518663-9 gnd |
topic_facet | VisualBASIC 2005 CD-ROM ADO.NET 2.0 |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=2868422&prov=M&dok_var=1&dok_ext=htm http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-741?GalileoSession=44769355A2.QRDdLmRM http://www.gbv.de/dms/ilmenau/toc/491782810.PDF http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015048151&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT kuhnelandreas visualbasic2005dasumfassendehandbuchspracheinfuhrungobjektorientierungprogrammiertechnikenwindowsprogrammierungneuefeaturesvonvisualstudio2005einfuhrunginadonet20 |