Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen der Sprachsyntax
3 Klassendesign
4 Weitere Datentypen
5 Multithreading
6 Collections und LINQ
7 Eingabe und Ausgabe
8 Anwendungen: Struktur und Installation
9 Code erstellen und debuggen
10 Einige Basisklassen
11 Windows-Anwendungen erstellen
12 Die wichtigsten Steuerelemente
13 Tastatur- und Mausereignisse
14 MDI-Anwendungen
15 Grafiken mit GDI+
16 Drucken
17 Entwickeln von Steuerelementen
18 Programmiertechniken
19 WPF – Grundlagen
20 Layoutcontainer
21 WPF-Steuerelemente
22 Konzepte von WPF
23 Datenbankverbindung mit ADO.NET
24 Datenbankabfragen mit ADO.NET
25 DataAdapter
26 Offline mit DataSet
27 Datenbanken aktualisieren
28 Stark typisierte DataSets
A Anhang: Einige Übersichten
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
Visual Basic 2008 von Andreas Kuehnel, Stephan Leibbrandt
Das umfassende Handbuch
Buch: Visual Basic 2008

Visual Basic 2008
3., aktualisierte und erweiterte Auflage, geb., mit DVD
1.323 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1171-0
Wer Anwendungen mit Visual Basic 2008 programmieren will, findet in diesem Buch alles, was er dafür braucht. Neben dem Framework und der Entwicklungsumgebung Visual Studio sowie der Sprachsyntax von Visual Basic wird ausführlich auf die objektorientierte Programmierung eingegangen. Häufig verwendete Programmiertechniken werden ebenso gezeigt wie die Entwicklung grafischer Oberflächen mit WinForms und WPF sowie die Datenbankanbindung mit ADO.Net.

Das Buch enthält alle Neuerungen des Visual Studio 2008. So werden die Themen LINQ (Language Integrated Query, ganz neu in .NET 3.5) oder etwa XAML (eXtensible Application Markup Language) sehr ausführlich in eigenen neuen Kapiteln behandelt.

Dieses umfassende Kompendium wird Umsteigern und Einsteigern gleichermaßen gerecht, es ist sowohl Lehrbuch als auch Nachschlagewerk.

Nutzen Sie die HTML-Version zum Reinschnuppern oder als immer verfügbare Ergänzung zu Ihrem Buch.

Inhaltsverzeichnis

1 Einführung

1.1 Warum .NET?

1.1.1 Ein paar Worte zu diesem Buch
1.1.2 Die Beispielprogramme

1.2 .NET unter die Lupe genommen

1.2.1 .NET – Ein paar allgemeine Eigenschaften
1.2.2 Das Sprachenkonzept
1.2.3 Common Language Specification (CLS)
1.2.4 Common Type System (CTS)
1.2.5 Common Language Runtime (CLR)
1.2.6 .NET-Klassenbibliothek
1.2.7 Das .NET Framework
1.2.8 Das Konzept der Namensräume

1.3 Assemblies

1.3.1 Die Metadaten
1.3.2 Das Manifest

1.4 Die Entwicklungsumgebung

1.4.1 Editionen von Visual Studio 2008
1.4.2 Hard- und Softwareanforderungen
1.4.3 Die Installation
1.4.4 Die Entwicklungsumgebung von Visual Studio
Rheinwerk Computing

2 Grundlagen der Sprachsyntax

2.1 Konsolenanwendungen

2.1.1 Allgemeine Anmerkungen
2.1.2 Der Projekttyp »Konsolenanwendung«
2.1.3 Die Vorlage »Konsolenanwendung«

2.2 Kommentare und Anweisungen

2.2.1 Einfache Kommentare
2.2.2 Hilfekommentare
2.2.3 Funktionsaufrufe (Methoden)
2.2.4 Anweisungen

2.3 Programmausführung

2.3.1 Ausgabe mit WriteLine
2.3.2 Start und Test
2.3.3 Unterbrechung mit ReadLine

2.4 Projektorganisation

2.4.1 Namensräume und Imports
2.4.2 Lösungen als Hyperprojekt
2.4.3 Existierende Projekte hinzufügen
2.4.4 Neues Projekt hinzufügen
2.4.5 Quellcodegliederung
2.4.6 Refactoring

2.5 Variablen und Datentypen

2.5.1 Explizite und implizite Variablen (Option Explicit)
2.5.2 Typisierte und untypisierte Variablen (Option Strict)
2.5.3 Variablendeklaration
2.5.4 Einfache Datentypen
2.5.5 Sichtbarkeit und Lebensdauer
2.5.6 Initialisierung von Variablen
2.5.7 Datentypkonvertierung
2.5.8 Funktionen
2.5.9 Schlüsselwörter
2.5.10 Zusammenfassung

2.6 Ein- und Ausgabemethoden der Klasse »Console«

2.6.1 Ausgabe mit Write und WriteLine
2.6.2 Einlesen mit Read und ReadLine

2.7 Operatoren

2.7.1 Arithmetische Operatoren
2.7.2 Relationale Operatoren
2.7.3 Logische Operatoren
2.7.4 Bitweise Operatoren
2.7.5 Verkettungsoperator
2.7.6 Zuweisungsoperatoren
2.7.7 Operatorprioritäten
2.7.8 Zusammenfassung

2.8 Fehlerbehandlung

2.8.1 Ohne Fehlerbehandlung
2.8.2 Funktionsweise von Try/Catch/Finally
2.8.3 Try/Catch
2.8.4 Try/Catch/Finally
2.8.5 Try/Finally
2.8.6 Rethrow
2.8.7 Spezifische Ausnahmen und mehrere Catch-Zweige
2.8.8 Unstrukturierte Fehlerbehandlung

2.9 Kontrollstrukturen

2.9.1 Die If-Anweisung
2.9.2 Select-Case-Anweisung
2.9.3 Gültigkeitsbereich einer Variablendeklaration
2.9.4 Entscheidungsfunktionen
2.9.5 If-Operator
2.9.6 Bedingte Kompilierung
2.9.7 Zusammenfassung

2.10 Programmschleifen

2.10.1 Do und While
2.10.2 For
2.10.3 Gültigkeitsbereich einer Variablendeklaration
2.10.4 Exit und Continue
2.10.5 GoTo
2.10.6 Zusammenfassung

2.11 Datenfelder (Arrays)

2.11.1 Eindimensionale Arrays
2.11.2 Mehrdimensionale Arrays
2.11.3 Initialisierung
2.11.4 Arrayname und Kopien
2.11.5 Speicherbelegung und Redimensionierung
2.11.6 Jagged Arrays
2.11.7 Feldgröße
2.11.8 Zusammenfassung
Rheinwerk Computing

3 Klassendesign

3.1 Objektorientierung

3.1.1 Einführung
3.1.2 Vorteile
3.1.3 Klassenimplementierung in .NET
3.1.4 Klassen in Visual Basic
3.1.5 Projekttyp »Klassenbibliothek«
3.1.6 Bemerkung zu den Codefragmenten
3.1.7 Objekte durch New
3.1.8 Ausnahmen mit Throw auslösen
3.1.9 Datentypen
3.1.10 Sichtbarkeit der Klasse
3.1.11 Aufteilung der Definition mit Partial
3.1.12 Grafikbibliothek: Beispiel für Kapitel 3 und 4

3.2 Kapselung

3.2.1 Kombinationen
3.2.2 Private
3.2.3 Sichtbarkeitsmodifikatoren
3.2.4 Lokale Variablen
3.2.5 Softwareschutz
3.2.6 Grafikbibliothek: private Größe des Rechtecks

3.3 Verhalten (Methoden)

3.3.1 Prinzip
3.3.2 Verlassen der Methode
3.3.3 Parameter
3.3.4 Überladung (Overloads)
3.3.5 Rückgabewert
3.3.6 Reine Deklaration mit Partial
3.3.7 Grafikbibliothek: Zugriffsmethoden auf die Größe des Rechtecks

3.4 Bindung

3.4.1 Klassenbindung mit Shared
3.4.2 Klassenkonstruktoren
3.4.3 Externe Funktionen
3.4.4 Grafikbibliothek: Rechteckübergreifendes

3.5 Objektinitialisierung mit Konstruktoren

3.5.1 Objektkonstruktoren
3.5.2 Nichtöffentliche Konstrukturen
3.5.3 Grafikbibliothek: Initialisierung des Rechtecks

3.6 Zustände (Felder)

3.6.1 Deklaration und Initialisierung
3.6.2 Sichtbarkeit
3.6.3 Konstanten: ReadOnly und Const
3.6.4 With
3.6.5 Grafikbibliothek: Konstanten des Rechtecks

3.7 Eigenschaften

3.7.1 Kontrolle beim Aufrufer
3.7.2 Zugriffsmethoden
3.7.3 Getter und Setter: Property
3.7.4 Indexer
3.7.5 Standardeigenschaft: Default
3.7.6 Schreibschutz und Leseschutz: ReadOnly und WriteOnly
3.7.7 Sichtbarkeit
3.7.8 Klammern
3.7.9 Grafikbibliothek: Eigenschaften des Rechtecks

3.8 Innere Klassen

3.8.1 Beziehung zur äußeren Klasse
3.8.2 Sichtbarkeit
3.8.3 Grafikbibliothek: Position des Rechtecks

3.9 Dynamisches Verhalten: Delegate und Function

3.9.1 Funktionszeiger: Delegates
3.9.2 Automatisch generierter Code
3.9.3 Mehrere Aktionen gleichzeitig
3.9.4 Asynchrone Aufrufe
3.9.5 Funktionsobjekte: Function (λ-Ausdrücke)
3.9.6 Umwandlungen
3.9.7 Grafikbibliothek: Vergleich von Rechtecken

3.10 Ereignisse

3.10.1 Ereignis: Event und RaiseEvent
3.10.2 Statische Methodenbindung WithEvents und Handles
3.10.3 Dynamische Methodenbindung: AddHandler und RemoveHandler
3.10.4 Benutzerdefinierte Ereignisse: Custom Event
3.10.5 Umwandlungen
3.10.6 Grafikbibliothek: Größenänderungen von Rechtecken überwachen

3.11 Benutzerdefinierte Operatoren

3.11.1 Prinzip
3.11.2 Überladung
3.11.3 Vergleich
3.11.4 Typumwandlung mit CType: Widening und Narrowing
3.11.5 Wahrheitswerte: IsTrue und IsFalse
3.11.6 Grafikbibliothek: Addition und Umwandlung von Rechtecken

3.12 Alle Klassenelemente

3.12.1 Der Namensraum My

3.13 Vererbung

3.13.1 Klassenbeziehung durch Inherits
3.13.2 Sichtbarkeitsmodifikatoren
3.13.3 Zugriff auf Eltern mit MyBase
3.13.4 Modifikation: Shadows und Overloads (Overrides)
3.13.5 Abstrakte Klassen: MustInherit und MustOverride
3.13.6 Spezifische Catch-Blöcke
3.13.7 Eigene Ausnahmen
3.13.8 Arrays
3.13.9 Grafikbibliothek: neue Vielecke

3.14 Polymorphie

3.14.1 Virtuelle Methoden: Overridable und Overrides
3.14.2 Unterbrechen: Overloads, Shadows und Overrides
3.14.3 Unterbinden: NotInheritable, NotOverridable und MyClass
3.14.4 Konstruktoren
3.14.5 Equals
3.14.6 ToString
3.14.7 Grafikbibliothek: Objektsammlungen

3.15 Schnittstellen: Interface und Implements

3.15.1 Benennungen und Parameter
3.15.2 Schnittstellen und Vererbung
3.15.3 Schnittstellenvererbung
3.15.4 Schnittstelle oder abstrakte Klasse?
3.15.5 Grafikbibliothek: Flächen

3.16 Lebensende eines Objekts

3.16.1 Garbage Collector
3.16.2 Destruktoren
3.16.3 Dispose und Using
Rheinwerk Computing

4 Weitere Datentypen

4.1 Module

4.2 Strukturen

4.2.1 Vor- und Nachteile von Referenz- und Werttypen
4.2.2 Initialisierung und Konstruktoren
4.2.3 Boxing
4.2.4 Innere Strukturen
4.2.5 ValueType

4.3 Enumerationen

4.3.1 Datentyp
4.3.2 System.Enum

4.4 Generisches

4.4.1 Einschränkungen
4.4.2 Innere generische Typen
4.4.3 Vererbung und Überladung
4.4.4 Sichtbarkeit
4.4.5 Bindung
4.4.6 Rekursive Typen
4.4.7 Generische Typen in .NET

4.5 Werttypen mit dem Wert Nothing

4.5.1 Typumwandlungen
4.5.2 Logische Operatoren
4.5.3 Boxing

4.6 Anonyme Klassen

4.6.1 Automatische Namen
4.6.2 Schlüssel und Equals
4.6.3 Innere anonyme Klassen
4.6.4 Generierter Code

4.7 Spezielle Typen

4.8 Attribute

4.8.1 Beispiel: Bedingte Kompilierung
4.8.2 Codeerzeugung: DesignerGenerated
4.8.3 Standardinstanzen: MyGroupCollectionAttribute
4.8.4 Klassenerweiterungen: Extension
4.8.5 Attribute abfragen
4.8.6 Benutzerdefinierte Attribute
Rheinwerk Computing

5 Multithreading

5.1 Start eines Threads

5.1.1 Parameterloser Start
5.1.2 Start mit Parameter
5.1.3 Hintergrundthreads
5.1.4 Threadeigenschaften

5.2 Zusammenspiel

5.2.1 Priorität
5.2.2 Warten mit Sleep
5.2.3 Unterbrechen mit Interrupt
5.2.4 Abbruch mit Abort
5.2.5 Warten mit Join
5.2.6 Warten erzwingen mit Suspend
5.2.7 Threadzustände
5.2.8 Die Klasse Thread

5.3 Gesicherter Datenaustausch

5.3.1 Objekte sperren mit Monitor
5.3.2 Codebereiche mit SyncLock sperren
5.3.3 Sperrung mit Zustand
5.3.4 Atomare Operationen
5.3.5 Attributgesteuerte Synchronisation

5.4 Asynchrone Methodenaufrufe

5.4.1 Aufruf
5.4.2 Rückruf
5.4.3 Zustand
5.4.4 Rückgabe
5.4.5 ByRef-Parameter

5.5 Threadpools

Rheinwerk Computing

6 Collections und LINQ

6.1 Sammlungsschnittstellen

6.1.1 IEnumerable
6.1.2 ICollection
6.1.3 IDictionary
6.1.4 IList

6.2 Sammlungsklassen

6.2.1 Collection
6.2.2 List
6.2.3 Wörterbücher
6.2.4 Schlangen
6.2.5 Gleichheit

6.3 Array

6.3.1 Die Eigenschaften eines Array-Objekts
6.3.2 Methoden von Array

6.4 LINQ

6.4.1 Neue Sprachkonzepte
6.4.2 Erweiterungsmethoden
6.4.3 Abfragesyntax
6.4.4 Abfrageoperatoren
6.4.5 From-Klausel
6.4.6 Der Restriktionsoperator Where
6.4.7 Projektionsoperatoren
6.4.8 Sortieroperatoren
6.4.9 Gruppieren mit GroupBy
6.4.10 Verknüpfungen mit Join
6.4.11 Die Set-Operator-Familie
6.4.12 Die Familie der Aggregatoperatoren
6.4.13 Generierungsoperatoren
6.4.14 Quantifizierungsoperatoren
6.4.15 Aufteilungsoperatoren
6.4.16 Die Elementoperatoren
Rheinwerk Computing

7 Eingabe und Ausgabe

7.1 Namensräume der Ein- bzw. Ausgabe

7.2 Ausnahmebehandlung

7.3 Dateien und Verzeichnisse

7.3.1 Dateizugriff mit File
7.3.2 Dateizugriff mit FileInfo
7.3.3 Die Klassen Directory und DirectoryInfo
7.3.4 Dateizugriffe in Aktion
7.3.5 Pfade mit Path
7.3.6 Laufwerksinformation mit DriveInfo
7.3.7 SpecialDirectories

7.4 Datenflüsse in Streams

7.4.1 Die abstrakte Klasse Stream
7.4.2 Stream-Klassen im Überblick
7.4.3 Dateizugriff mit FileStream

7.5 Texte mit TextReader und TextWriter

7.5.1 Texte mit StreamWriter schreiben
7.5.2 Texte mit StreamReader lesen
7.5.3 Zeichenketten mit StringWriter und StringReader

7.6 Binärdaten mit BinaryReader und BinaryWriter

7.6.1 Schreiben mit BinaryWriter
7.6.2 Lesen mit BinaryReader
7.6.3 Binäre Datenströme auswerten
7.6.4 Komplexe binäre Daten

7.7 Serialisierung

7.7.1 Serialisierungsverfahren
7.7.2 Testklassen
7.7.3 Serialisierung mit BinaryFormatter
7.7.4 Serialisierung mit SoapFormatter
7.7.5 Serialisierung mit XmlSerializer
Rheinwerk Computing

8 Anwendungen: Struktur und Installation

8.1 Bibliotheken

8.1.1 Projekte in einer Projektmappe
8.1.2 Zugriffsmodifikatoren
8.1.3 Einbinden einer Klassenbibliothek

8.2 Assemblies

8.2.1 Struktur einer Assembly
8.2.2 Globale Assemblies

8.3 Konfigurationsdateien

8.3.1 Die verschiedenen Konfigurationsdateien
8.3.2 Struktur einer Anwendungskonfigurationsdatei
8.3.3 Anwendungskonfigurationsdatei automatisch erstellen
8.3.4 Anwendungskonfiguarionsdatei auswerten
8.3.5 Editierbare, anwendungsbezogene Einträge mit <appSettings>
8.3.6 Versionsumleitung in einer Konfigurationsdatei
8.3.7 Die Herausgeberrichtliniendatei

8.4 Weitergabe mit MS-Installer

8.4.1 Weitergabeprojekte
8.4.2 Windows-Installer
8.4.3 Setup-Projekt
8.4.4 Editoren eines Weitergabeprojekts
8.4.5 Dateisystem-Editor
8.4.6 Der Registrierungs-Editor
8.4.7 Dateityp-Editor
8.4.8 Benutzeroberflächen-Editor
8.4.9 Editor für benutzerdefinierte Aktionen
8.4.10 Editor für Startbedingungen

8.5 ClickOnce-Verteilung

8.5.1 Erstellen einer ClickOnce-Anwendung
8.5.2 Die Installation einer ClickOnce-Anwendung
Rheinwerk Computing

9 Code erstellen und debuggen

9.1 Ausnahmen

9.1.1 Methodenaufrufe
9.1.2 Hierarchie der Ausnahmen
9.1.3 Eigene Ausnahmen

9.2 Protokollierung

9.2.1 Ausgabe mit Debug
9.2.2 Ausgabe mit Trace
9.2.3 Ausgabeziel mit TraceListener
9.2.4 Steuerung mit Konfigurationsdateien

9.3 Visual Studio Debugger

9.3.1 Debuggen im Haltemodus
9.3.2 Fenster zum Zugriff auf Variablen

9.4 Unit Tests

9.5 Refactoring

9.6 UML

9.6.1 Klassendiagramm
9.6.2 Toolbox
9.6.3 Das Fenster Klassendetails
9.6.4 Klassendiagramme als Bilder exportieren

9.7 Codeausschnitte (Code Snippets)

9.7.1 Anatomie
9.7.2 Eigene Codeausschnitte
Rheinwerk Computing

10 Einige Basisklassen

10.1 Object

10.1.1 Methoden
10.1.2 GetType
10.1.3 Gleichheit
10.1.4 Objekte kopieren

10.2 String

10.2.1 Erzeugung
10.2.2 Eigenschaften
10.2.3 Methoden

10.3 Ausgabeformatierung

10.3.1 Formatierung mit der Methode String.Format
10.3.2 Formatierung mit ToString
10.3.3 Benutzerdefinierte Formatierung

10.4 StringBuilder

10.4.1 Kapazität
10.4.2 Konstruktoren
10.4.3 Eigenschaften
10.4.4 Methoden

10.5 Zeitmessung

10.5.1 Die Zeitspanne Tick
10.5.2 Konstruktoren von DateTime
10.5.3 Eigenschaften von DateTime
10.5.4 Methoden von DateTime
10.5.5 Zeitspanne: TimeSpan
Rheinwerk Computing

11 Windows-Anwendungen erstellen

11.1 Entwicklungsumgebung

11.2 Eine erste Windows-Anwendung

11.3 Das Codegerüst einer Windows-Anwendung

11.3.1 Einstellungen
11.3.2 Automatisch generierter Startcode
11.3.3 Nachrichtenschleife
11.3.4 Dateien *.vb und *.Designer.vb

11.4 Ereignisse grafischer Windows-Komponenten

11.4.1 Syntax und Nomenklatur
11.4.2 Ereignisse mit Ereignisdaten
11.4.3 Ereignisbehandlung in Visual Studio
11.4.4 Ereignisbehandlung mit OnEreignis-Methoden

11.5 Die Basisklassen einer Form

11.5.1 Control
11.5.2 ScrollableControl
11.5.3 ContainerControl

11.6 Eigenschaften einer Form

11.6.1 Rahmendarstellung
11.6.2 Formspezifisches Symbol
11.6.3 Schaltflächen der Titelleiste
11.6.4 Transparenz
11.6.5 Immer obenauf
11.6.6 Mauszeiger verändern
11.6.7 Farbe (Color)
11.6.8 Schriftart (Font)
11.6.9 Abmessungen einer Form
11.6.10 Position eines Fensters
11.6.11 Anzeigezustand eines Fensters
11.6.12 Arbeitsfläche des Fensters (Clientbereich)
11.6.13 Fokussierreihenfolge
11.6.14 Standardschaltflächen eines Fensters
11.6.15 Unterelemente (ControlsCollection)
11.6.16 Eigenschaften des Form-Objekts

11.7 Ereignisse einer Form

11.7.1 Erzeugen eines Fensters
11.7.2 Größenänderung einer Form
11.7.3 Schließen eines Fensters

11.8 Anwendungen mit mehreren Fenstern

11.8.1 Neue Formulare hinzufügen
11.8.2 Lebenszyklus von Formularen
11.8.3 Mehrere Fenster verwalten
11.8.4 Begrüßungsfenster (Splash)

11.9 Modale Dialogfenster

11.9.1 Layout eines Dialogfensters
11.9.2 Rückgabewert
11.9.3 Eine Form modal öffnen

11.10 Meldungsfenster mit MessageBox

11.10.1 Anzeige mit Show
11.10.2 Rückgabewert der Meldungsfenster

11.11 Die Klasse Application

11.11.1 Die Datei AssemblyInfo.vb
11.11.2 Wartende Ereignisse abrufen (DoEvents)
11.11.3 Eigenschaften und Methoden
Rheinwerk Computing

12 Die wichtigsten Steuerelemente

12.1 Gemeinsamkeiten

12.1.1 Größe und Position
12.1.2 Sichtbarkeit und Aktivierungszustand
12.1.3 Beschriftung
12.1.4 Farben
12.1.5 Grafische Darstellung
12.1.6 Zugriffsrechte
12.1.7 Zusatzinformationen speichern
12.1.8 Position bei Größenänderung der Form
12.1.9 Die Größe mit der Form skalieren
12.1.10 Kindelemente
12.1.11 Steuerelemente fokussieren
12.1.12 Maus- und Tastaturereignisse

12.2 Schaltflächen (Button)

12.2.1 Rahmendarstellung
12.2.2 Beschriftung und Grafiken

12.3 Auswahlkästchen (CheckBox)

12.3.1 Eigenschaften
12.3.2 Drei Zustände

12.4 Gruppierung (GroupBox)

12.5 Optionsschaltflächen (RadioButton)

12.5.1 Gruppierung
12.5.2 Eigenschaften
12.5.3 Zustandswechsel programmieren

12.6 Texteingabefelder (TextBox)

12.6.1 Einzeilige Eingabefelder
12.6.2 Mehrzeilige Eingabefelder

12.7 Beschriftungen (Label)

12.8 Popuptextfenster (ToolTip)

12.8.1 Definition von Hinweistexten
12.8.2 Anzeigedauer der Texte
12.8.3 Weitere Eigenschaften

12.9 Auswahllisten (ListBox)

12.9.1 Daten einer ListBox
12.9.2 Darstellung einer Listbox
12.9.3 Einfach- und Mehrfachauswahl
12.9.4 Listboxen mit Einfachauswahl
12.9.5 Listboxen mit Mehrfachauswahl
12.9.6 Benutzerdefinierte Sortierung
12.9.7 Auswahlliste mit Datenquelle (DataSource)

12.10 Markierte Auswahllisten (CheckedListBox)

12.11 Kombinationslistenfelder (ComboBox)

12.11.1 Ereignisse
12.11.2 Autovervollständigung

12.12 Standarddialoge

12.12.1 Datei zum Öffnen wählen (OpenFileDialog)
12.12.2 Datei zum Speichern wählen (SaveFileDialog)
12.12.3 Ordner selektieren (FolderBrowserDialog)
12.12.4 Farbe bekennen (ColorDialog)
12.12.5 Schriftart wählen (FontDialog)

12.13 Menüs, Symbol- und Statusleisten

12.13.1 Menüsammlung (ToolStripContainer)
12.13.2 Menüdefinition
12.13.3 Eigenschaften von Menüs
12.13.4 Kontextmenüs
12.13.5 Symbolleisten
12.13.6 Statusleisten

12.14 Bildlaufleisten (HScrollBar und VScrollBar)

12.15 Fortschrittsbalken (ProgressBar)

12.16 Animationen (Timer)

12.17 Container (Panel)

12.18 Registerkarten (TabControl)

12.19 Baumansichten (TreeView und TreeNode)

12.19.1 Knotenpunkte definieren
12.19.2 Eigenschaften
12.19.3 Ereignisse
12.19.4 Knotenexpansion und -reduktion
12.19.5 Knoten (TreeNode)

12.20 Teiler (Splitter und SplitContainer)

12.20.1 Splitter
12.20.2 SplitContainer

12.21 Listenansicht (ListView)

12.21.1 Beteiligte Klassen
12.21.2 Eigenschaften und Ereignisse
12.21.3 Listenelemente (ListViewItem)
12.21.4 Unterelemente in Spalten (ListViewSubItem)
12.21.5 Spaltenüberschriften (ColumnHeader)
12.21.6 Listenelemente Gruppen zuordnen
12.21.7 Sortierung der Spalten
12.21.8 Listenelemente ändern
12.21.9 Dateiexplorer-Beispiel
Rheinwerk Computing

13 Tastatur- und Mausereignisse

13.1 Die Tastaturschnittstelle

13.1.1 Allgemeines
13.1.2 Tastaturereignisse
13.1.3 Die Ereignisse KeyDown und KeyUp
13.1.4 Das Ereignis KeyPress
13.1.5 Tastaturereignisse der Form
13.1.6 Tastatureingaben simulieren

13.2 Die Mausschnittstelle

13.2.1 Die Ereignisse MouseDown, MouseMove und MouseUp
13.2.2 Das Ereignis MouseWheel
13.2.3 Weitere Mausereignisse
13.2.4 Click-Ereignisse
13.2.5 Verhalten der Maus
Rheinwerk Computing

14 MDI-Anwendungen

14.1 Das MDI-Hauptfenster

14.2 Die Subfenster

14.3 Zugriff auf die Subfenster

14.3.1 Alle Subfenster
14.3.2 Aktive Subfenster
14.3.3 Subfenster eines bestimmten Typs

14.4 Menü einer MDI-Anwendung

14.4.1 Subfenster anordnen
14.4.2 Subfenster mit eigenen Menüs

14.5 Symbol- und Statusleiste des Subfensters

14.6 Die Liste der geöffneten untergeordneten Fenster

14.7 Beispiel einer MDI-Anwendung

Rheinwerk Computing

15 Grafiken mit GDI+

15.1 Namensräume von GDI+

15.2 Die Klasse Graphics

15.2.1 Ein Graphics-Objekt besorgen
15.2.2 Neuzeichnen mit ResizeRedraw und Invalidate
15.2.3 Zerstören grafischer Objekte (Dispose)
15.2.4 Koordinatensystem
15.2.5 Koordinatenursprung
15.2.6 Zeichnen mit der Klasse Graphics
15.2.7 Eine Linie
15.2.8 Mehrere Linien
15.2.9 Rechtecke
15.2.10 Polygone
15.2.11 Ellipsen und Teile davon
15.2.12 Kurvenzüge
15.2.13 Bézierkurven

15.3 Stifte und Farben

15.3.1 Linienstile mit Pen
15.3.2 Farben mit Color

15.4 Schriftdarstellung

15.4.1 Schriftart (Font und FontFamily)
15.4.2 Schriftstil mit FontStyle
15.4.3 Ausgabe einer Zeichenfolge
15.4.4 Abmessungen mit MeasureString
15.4.5 Textlayout mit StringFormat

15.5 Bilddateien

15.5.1 Bilder und Grafiken in .NET
15.5.2 Bitmap-Dateiformate
15.5.3 Bilder vom Typ Image
15.5.4 Bitmaps
Rheinwerk Computing

16 Drucken

16.1 Überblick

16.1.1 PrintDocument
16.1.2 PrinterSettings
16.1.3 PageSettings

16.2 Einen Druckauftrag erteilen

16.2.1 Methoden und Eigenschaften von PrintDocument
16.2.2 Die Ereignisse in PrintDocument
16.2.3 Die Ereignisse BeginPrint und EndPrint
16.2.4 Das Ereignis QueryPageSettings
16.2.5 Das Ereignis PrintPage
16.2.6 Beenden des Druckauftrags
16.2.7 WYSIWYG

16.3 Seiteneinstellungen mit PageSettings

16.4 Der Drucker als PrinterSettings

16.4.1 Mehrere installierte Drucker
16.4.2 Eigenschaften von PrinterSettings

16.5 Steuerelemente zum Drucken

16.5.1 PrintDocument
16.5.2 PrintDialog
16.5.3 PageSetupDialog
16.5.4 PrintPreviewDialog
16.5.5 PrintPreviewControl

16.6 Drucken von Grafiken

16.6.1 Das Problem der Maßeinheiten
16.6.2 Festlegung der Einheiten und Skalierung
16.6.3 Größenrichtige Ausgabe einer Grafik

16.7 Mehrseitiger Text

Rheinwerk Computing

17 Entwickeln von Steuerelementen

17.1 Entwicklungsszenarien

17.2 Testen eines Steuerelements

17.3 Steuerelemente mit UserControl

17.3.1 Definition eines Benutzersteuerelements
17.3.2 Eigenschaften eines Benutzersteuerelements
17.3.3 Attribute eines Benutzersteuerelements
17.3.4 Ereignisse eines Benutzersteuerelements
17.3.5 Bereitstellen einer Toolbox-Bitmap
17.3.6 Code für EllipseLabel

17.4 Ein Steuerelement von einem vorhandenen ableiten

17.5 Eigene Steuerelemente entwerfen

Rheinwerk Computing

18 Programmiertechniken

18.1 Drag

18.1.1 Ablauf der Operation
18.1.2 Start der Operation
18.1.3 Ereignisse des Empfängers
18.1.4 Programmbeispiele

18.2 API-Aufrufe mit PInvoke

18.2.1 Das Attribut DllImport
18.2.2 Datentypen von API-Funktionen

18.3 Windows-Dienstanwendungen entwickeln

18.3.1 »Windows-Dienst«-Projekte in der Entwicklungsumgebung
18.3.2 Methoden eines Dienstes
18.3.3 Eigenschaften eines Dienstes
18.3.4 Installation eines Windows-Dienstes
18.3.5 Das Beispielprogramm FileWatchService
18.3.6 Dienste mittels Programmcode steuern

18.4 Die Zwischenablage

18.4.1 Speichern und Abrufen von Daten
18.4.2 Weitere Zugriffsmethoden
18.4.3 Mehrere Datenformate gleichzeitig
18.4.4 Eigene Datenformate schreiben
18.4.5 Leeren der Zwischenablage
18.4.6 Beispielprogramm Menü »Bearbeiten«
Rheinwerk Computing

19 WPF – Grundlagen

19.1 Merkmale einer WPF-Anwendung

19.2 XML

19.2.1 Tags
19.2.2 Inhalt
19.2.3 Attribute
19.2.4 Wurzel
19.2.5 Namensräume
19.2.6 Kommentare
19.2.7 Entitäten
19.2.8 Zusammenfassung

19.3 XAML

19.3.1 Standardnamensräume
19.3.2 Zusätzliche Namensräume
19.3.3 Tags
19.3.4 Attribute
19.3.5 Konvertierungen
19.3.6 Indirektion und Markup-Erweiterungen
19.3.7 Verbundene Attribute
19.3.8 Code Behind
19.3.9 Schlüsselwörter

19.4 WPF-Anwendungen

19.4.1 Erstes Fenster
19.4.2 Button
19.4.3 Browseranwendung

19.5 Dateien einer WPF-Anwendung

19.5.1 Window1.xaml
19.5.2 Window1.xaml.vb
19.5.3 Application.xaml
19.5.4 Application.xaml.vb
19.5.5 Window1.baml und Window1.g.vb
19.5.6 MyWpfExtension.vb
Rheinwerk Computing

20 Layoutcontainer

20.1 Containertypen

20.2 Canvas

20.3 StackPanel

20.4 WrapPanel

20.5 DockPanel

20.6 UniformGrid

20.7 Grid

20.8 Positionierung von Steuerelementen

20.8.1 Position mit Top, Bottom, Right und Left
20.8.2 Außenränder mit Margin
20.8.3 Innenränder mit Padding

20.9 Verschachtelung

Rheinwerk Computing

21 WPF-Steuerelemente

21.1 Ereignisse programmieren

21.1.1 Weiterleiten von Ereignissen
21.1.2 Event Bubbling
21.1.3 Event Tunneling
21.1.4 Weiterleitung abbrechen
21.1.5 Reihenfolge der Routed Events

21.2 Die Basisklasse Control

21.3 Familie der Buttons

21.3.1 Button
21.3.2 RepeatButton
21.3.3 ToggleButton

21.4 Textboxen

21.4.1 TextBox
21.4.2 PasswordBox

21.5 Label

21.6 Auswahlelemente

21.6.1 CheckBox
21.6.2 RadioButton

21.7 Listen

21.7.1 ListBox
21.7.2 ComboBox

21.8 Menüleiste

21.8.1 Gestaltung der Menüelemente
21.8.2 Symbole anzeigen
21.8.3 Tastenkürzel
21.8.4 Selektierbare Menüelemente

21.9 Kontextmenü

21.10 Symbolleisten

21.10.1 Positionieren mit der Komponente ToolBarTray

21.11 Statusleiste

21.12 Bilder mit Image

21.12.1 Grafik zur Laufzeit laden
Rheinwerk Computing

22 Konzepte von WPF

22.1 Abhängige und angehängte Eigenschaften

22.1.1 Abhängige Eigenschaften
22.1.2 Angehängte Eigenschaften

22.2 Ressourcen

22.2.1 Definition
22.2.2 Zeitpunkt der Wertbestimmung
22.2.3 Abrufen von Systemressourcen

22.3 Stile

22.3.1 Einfache Stile
22.3.2 Typisierte Stile

22.4 Trigger

22.4.1 Eigenschaftstrigger
22.4.2 Ereignistrigger
22.4.3 Datentrigger

22.5 Kommandos

22.5.1 Vordefiniert
22.5.2 Beispielanwendung
22.5.3 Kommando-Ziel
22.5.4 Kommandos an Ereignisse binden
22.5.5 Kommandos programmieren

22.6 Datenbindung

22.6.1 Einfache Datenbindung

22.7 Bindungsarten

22.7.1 Aktualisierung der Quelle
22.7.2 Datenbindungsquellen
22.7.3 Auflistungen anbinden
Rheinwerk Computing

23 Datenbankverbindung mit ADO.NET

23.1 ADO.NET-Provider

23.2 Verbindungen mit dem Datenprovider

23.2.1 DbConnection-Objekt
23.2.2 Die Verbindungszeichenfolge
23.2.3 Die Verbindung zu einer bestimmten SQL Server-Instanz
23.2.4 Änderung des Passworts bei der SQL Server-Authentifizierung
23.2.5 Verbindungszeichenfolgen mit DbConnectionStringBuilder
23.2.6 Öffnen und Schließen einer Verbindung
23.2.7 Testrahmen

23.3 Verbindungspooling

23.3.1 Beispiel für das Verbindungspooling
23.3.2 Verbindungspooling deaktivieren
23.3.3 Verbindungspoolgröße manipulieren
23.3.4 Freigabe gepoolter Verbindungen

23.4 Ereignisse eines Connection-Objekts

23.4.1 StateChange
23.4.2 InfoMessage

23.5 Verbindungszeichenfolgen aus einer Konfigurationsdatei abrufen

23.6 Connection im Überblick

23.6.1 Vererbungshierarchie
23.6.2 Ereignisse eines SqlConnection-Objekts
23.6.3 Eigenschaften eines SqlConnection-Objekts
23.6.4 Methoden des Connection-Objekts

23.7 Verbindungen mit dem OleDb-Datenprovider

23.7.1 Verbindungsaufbau zu einer SQL Server-Datenbank
23.7.2 Verbindungsaufbau zu einer Access-Datenbank
23.7.3 Authentifizierung mit dem OleDb-Provider
Rheinwerk Computing

24 Datenbankabfragen mit ADO.NET

24.1 DbCommand

24.1.1 Ein DbCommand-Objekt erzeugen
24.1.2 Ausführen des DbCommand-Objekts
24.1.3 Begrenzung der Abfragezeit durch CommandTimeout
24.1.4 Aktionsabfragen absetzen
24.1.5 Abfragen mit einem Einzelergebnis

24.2 SqlDataReader

24.2.1 Das SQL-Kommando SELECT
24.2.2 Datensätze einlesen
24.2.3 DataReader schließen
24.2.4 MARS (Multiple Active Resultsets)
24.2.5 Batch-Abfragen mit NextResult durchlaufen
24.2.6 Informationen über eine Tabelle

24.3 Parametrisierte Abfragen

24.3.1 SqlClient-Datenprovider
24.3.2 SqlParameter
24.3.3 OleDb-Datenprovider

24.4 Asynchrone Abfragen

24.4.1 Polling
24.4.2 Bereitstellen einer Rückrufmethode

24.5 Gespeicherte Prozeduren (Stored Procedures)

24.5.1 Gespeicherte Prozeduren in Visual Studio 2008 erstellen
24.5.2 Gespeicherte Prozeduren aufrufen
24.5.3 Komplexe gespeicherte Prozeduren
Rheinwerk Computing

25 DataAdapter

25.1 Was ist ein DataAdapter?

25.1.1 Ein Programmbeispiel

25.2 Initialisierung

25.2.1 Konstruktoren
25.2.2 Die Eigenschaft SelectCommand

25.3 Den lokalen Datenspeicher füllen

25.3.1 Verbindungen öffnen und schließen
25.3.2 Doppelter Aufruf der Fill-Methode
25.3.3 Mehrere DataAdapter-Objekte aufrufen
25.3.4 Der Spalten- und der Tabellenbezeichner einer DataTable
25.3.5 Paging mit der Fill-Methode

25.4 Tabellenzuordnung mit TableMappings

25.4.1 Spaltenzuordnungen in einem DataSet
25.4.2 Spaltenzuordnungen einer DataTable
25.4.3 Die Eigenschaft MissingMappingAction des DataAdapters

25.5 Das Ereignis FillError des DataAdapters

Rheinwerk Computing

26 Offline mit DataSet

26.1 Das DataSet-Objekt verwenden

26.1.1 Ein DataSet-Objekt erzeugen
26.1.2 Anatomie einer DataTable
26.1.3 Zugriff auf eine Tabelle im DataSet
26.1.4 Zugriff auf die Ergebnisliste
26.1.5 Dateninformationen in eine XML-Datei schreiben

26.2 DataSet mit Schemainformationen

26.2.1 Schemainformationen bereitstellen
26.2.2 Gültigkeitsprüfung in einer DataColumn
26.2.3 Constraints-Klassen einer DataTable
26.2.4 Tabellenschema durch Programmcode
26.2.5 Tabellenschema durch DataAdapter
26.2.6 Tabellenschema aus einer XML-Datei

26.3 Änderung einer Tabelle

26.3.1 Editieren einer Datenzeile
26.3.2 Löschen einer Datenzeile
26.3.3 Neue Datenzeile hinzufügen

26.4 Änderung einer Datenzeile

26.4.1 Aktualisierungszustand
26.4.2 Ursprünglicher und aktualisierter Inhalt
26.4.3 Zeilenstatus manuell steuern

26.5 Mit mehreren Tabellen arbeiten

26.5.1 JOIN-Abfragen
26.5.2 Mehrere Tabellen in einem DataSet
26.5.3 Tabellenbeziehungen erzeugen
26.5.4 DataRelations und Einschränkungen
26.5.5 In Beziehung stehende Daten suchen
26.5.6 Ergänzung zum Speichern von Schemainformationen in einer XML–Schemadatei

26.6 Suchen und Filtern

26.6.1 Find
26.6.2 Select

26.7 Objekte vom Typ DataView

26.7.1 Initialisierung
26.7.2 Zugriff auf die Datenzeilen
26.7.3 Spalten durchsuchen
26.7.4 Mehrdeutige Suchergebnisse
26.7.5 Datenfilter
26.7.6 Statusfilter
26.7.7 Änderungen
26.7.8 DataView in DataTable umwandeln
Rheinwerk Computing

27 Datenbanken aktualisieren

27.1 Aktualisieren mit CommandBuilder

27.1.1 Parallelitätskonflikt
27.1.2 Aktualisierungsbefehle des DbCommandBuilders
27.1.3 Aktualisierungsoptionen des DbCommandBuilders
27.1.4 Vor- und Nachteile des DbCommandBuilders

27.2 Manuell gesteuerte Aktualisierungen

27.2.1 Manuelles Aktualisieren mit dem DataAdapter
27.2.2 Aktualisieren mit ExecuteNonQuery

27.3 Benutzer über fehlgeschlagene Aktualisierungen informieren

27.4 Konfliktverursachende Datenzeilen bei der Datenbank abfragen

27.5 DataSet mit der Datenbank synchronisieren

27.5.1 UpdatedRowSource in DbCommand

27.6 Hierarchische Änderungen an die Datenbank übermitteln

27.6.1 Datenbank auslesen
27.6.2 Änderung
27.6.3 Bestellung einfügen
27.6.4 Bestelldetails einfügen
27.6.5 Wiederherstellen der Datenbank
Rheinwerk Computing

28 Stark typisierte DataSets

28.1 Erzeugung

28.1.1 Visual Studio Designer
28.1.2 Das Kommandozeilentool XSD.exe

28.2 Anatomie

28.2.1 Grobstruktur: Datentypen
28.2.2 Das typisierte DataSet
28.2.3 TableAdapter
28.2.4 Typisierte Tabelle
28.2.5 Typisierte Zeile

28.3 Datenzugriff

28.3.1 Datenzeilen ausgeben
28.3.2 Datenzeilen hinzufügen
28.3.3 Datenzeilen bearbeiten
28.3.4 Datenzeilen suchen
28.3.5 Spalten mit Null-Wert
28.3.6 Tabellenbeziehungen

28.4 Ein typisiertes DataSet manuell erzeugen

28.4.1 DataTable erzeugen
28.4.2 Spalten hinzufügen
28.4.3 Tabellenbeziehungen erstellen

28.5 TableAdapter erzeugen

28.5.1 Visual Studio Assistent

28.6 TableAdapter verwenden

28.6.1 Datenbeschaffung mit Fill
28.6.2 Datenbeschaffung mit GetData
28.6.3 Aktualisierung mit Update
28.6.4 Aktualisieren mit UpdateAll
28.6.5 Direkte Aktualisierung der Datenbank
28.6.6 TableAdapter mit mehreren Abfragen
28.6.7 TableAdapter ändern

28.7 Fazit: Typisierte oder nicht typisierte DataSets?

Rheinwerk Computing

A Anhang: Einige Übersichten

A.1 Erweiterungsmethoden

A.2 Generische Typen

A.3 Typisiertes DataSet



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Visual Basic 2008
Visual Basic 2008
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Visual Basic 2012






 Visual Basic 2012


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Rheinwerk-Shop: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Rheinwerk-Shop: Windows Presentation Foundation






 Windows Presentation
 Foundation


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern