Inhaltsverzeichnis

  • 1
    Einführung
    15
    • 1.1
      Aufbau dieses Buchs
      15
    • 1.2
      Visual Studio 2017
      16
    • 1.3
      Mein erstes Windows-Programm
      16
    • 1.4
      Visual Studio-Entwicklungsumgebung
      17
      • 1.4.1
        Ein neues Projekt
        17
      • 1.4.2
        Einfügen von Steuerelementen
        19
      • 1.4.3
        Arbeiten mit dem Eigenschaften-Fenster
        20
      • 1.4.4
        Speichern eines Projekts
        23
      • 1.4.5
        Das Codefenster
        23
      • 1.4.6
        Schreiben von Programmcode
        26
      • 1.4.7
        Kommentare
        27
      • 1.4.8
        Starten, Ausführen und Beenden des Programms
        28
      • 1.4.9
        Ausführbares Programm
        29
      • 1.4.10
        Schließen und Öffnen eines Projekts
        29
      • 1.4.11
        Übung
        30
      • 1.4.12
        Empfehlungen für Zeilenumbrüche
        30
    • 1.5
      Arbeiten mit Steuerelementen
      31
      • 1.5.1
        Steuerelemente formatieren
        31
      • 1.5.2
        Steuerelemente kopieren
        32
      • 1.5.3
        Eigenschaften zur Laufzeit ändern
        33
      • 1.5.4
        Vergabe und Verwendung von Namen
        36
      • 1.5.5
        Verknüpfung von Texten, mehrzeilige Texte
        36
      • 1.5.6
        Eigenschaft BackColor, Farben allgemein
        37
  • 2
    Grundlagen
    39
    • 2.1
      Variablen und Datentypen
      39
      • 2.1.1
        Namen, Werte
        39
      • 2.1.2
        Deklarationen
        40
      • 2.1.3
        Datentypen
        40
      • 2.1.4
        Gültigkeitsbereich
        44
      • 2.1.5
        Konstanten
        47
      • 2.1.6
        Enumerationen
        48
    • 2.2
      Operatoren
      50
      • 2.2.1
        Rechenoperatoren
        50
      • 2.2.2
        Vergleichsoperatoren
        53
      • 2.2.3
        Logische Operatoren
        54
      • 2.2.4
        Verkettungsoperator
        55
      • 2.2.5
        Zuweisungsoperatoren
        56
      • 2.2.6
        Rangfolge der Operatoren
        56
    • 2.3
      Einfache Steuerelemente
      58
      • 2.3.1
        Panel
        58
      • 2.3.2
        Zeitgeber
        59
      • 2.3.3
        Textfelder
        63
      • 2.3.4
        Zahlenauswahlfeld
        66
    • 2.4
      Verzweigungen
      67
      • 2.4.1
        if...else
        68
      • 2.4.2
        switch...case
        75
      • 2.4.3
        Übungen
        78
    • 2.5
      Verzweigungen und Steuerelemente
      79
      • 2.5.1
        Kontrollkästchen
        79
      • 2.5.2
        Optionsschaltflächen
        82
      • 2.5.3
        Mehrere Ereignisse in einer Methode behandeln
        84
      • 2.5.4
        Mehrere Gruppen von Optionsschaltflächen
        86
      • 2.5.5
        Methode ohne Ereignis, Modularisierung
        89
      • 2.5.6
        Schieberegler
        90
    • 2.6
      Schleifen
      92
      • 2.6.1
        for-Schleife
        92
      • 2.6.2
        while- und do...while-Schleife
        95
      • 2.6.3
        Übungen
        98
    • 2.7
      Schleifen und Steuerelemente
      101
      • 2.7.1
        Listenfeld
        101
      • 2.7.2
        Listenfeld füllen
        101
      • 2.7.3
        Wichtige Eigenschaften
        102
      • 2.7.4
        foreach-Schleife
        104
      • 2.7.5
        Wechsel der Auswahl
        104
      • 2.7.6
        Wichtige Methoden
        106
      • 2.7.7
        Mehrfachauswahl
        109
      • 2.7.8
        Kombinationsfelder
        110
  • 3
    Fehlerbehandlung
    115
    • 3.1
      Entwicklung eines Programms
      115
    • 3.2
      Fehlerarten
      116
    • 3.3
      Syntaxfehler und IntelliSense
      117
    • 3.4
      Laufzeitfehler und Exception Handling
      119
      • 3.4.1
        Programm mit Laufzeitfehlern
        119
      • 3.4.2
        Einfaches Exception Handling
        121
      • 3.4.3
        Erweitertes Exception Handling
        123
    • 3.5
      Logische Fehler und Debugging
      124
      • 3.5.1
        Einzelschrittverfahren
        124
      • 3.5.2
        Haltepunkte
        126
      • 3.5.3
        Überwachungsfenster
        126
  • 4
    Erweiterte Grundlagen
    129
    • 4.1
      Steuerelemente aktivieren
      129
      • 4.1.1
        Ereignis Enter
        129
      • 4.1.2
        Eigenschaften Enabled und Visible
        132
    • 4.2
      Bedienung per Tastatur
      135
      • 4.2.1
        Eigenschaften TabIndex und TabStop
        135
      • 4.2.2
        Tastenkombination für Steuerelemente
        136
    • 4.3
      Ereignisgesteuerte Programmierung
      137
      • 4.3.1
        Eine Ereigniskette
        137
      • 4.3.2
        Endlose Ereignisketten
        139
      • 4.3.3
        Textfelder koppeln
        141
      • 4.3.4
        Tastatur und Maus
        142
    • 4.4
      Datenfelder
      144
      • 4.4.1
        Eindimensionale Datenfelder
        144
      • 4.4.2
        Ein Feld durchsuchen
        146
      • 4.4.3
        Weitere Feldoperationen
        148
      • 4.4.4
        Mehrdimensionale Datenfelder
        150
      • 4.4.5
        Datenfelder initialisieren
        155
      • 4.4.6
        Verzweigte Datenfelder
        156
      • 4.4.7
        Datenfelder sind dynamisch
        158
    • 4.5
      Methoden
      160
      • 4.5.1
        Einfache Methoden
        161
      • 4.5.2
        Übergabe per Referenz
        163
      • 4.5.3
        Methoden mit Rückgabewerten
        167
      • 4.5.4
        Optionale Argumente
        169
      • 4.5.5
        Benannte Argumente
        170
      • 4.5.6
        Beliebig viele Argumente
        172
      • 4.5.7
        Rekursiver Aufruf
        173
      • 4.5.8
        Übungen zu Methoden
        176
    • 4.6
      Konsolenanwendung
      176
      • 4.6.1
        Anwendung erzeugen
        176
      • 4.6.2
        Ein- und Ausgabe von Text
        177
      • 4.6.3
        Eingabe einer Zahl
        178
      • 4.6.4
        Erfolgreiche Eingabe einer ganzen Zahl
        180
      • 4.6.5
        Ausgabe formatieren
        181
      • 4.6.6
        Aufruf von der Kommandozeile
        183
  • 5
    Objektorientierte Programmierung
    187
    • 5.1
      Was ist Objektorientierung?
      187
    • 5.2
      Klasse, Eigenschaft, Methode, Objekt
      188
    • 5.3
      Eigenschaftsmethode
      192
    • 5.4
      Konstruktor
      194
    • 5.5
      Namensräume
      198
    • 5.6
      Referenzen, Vergleiche und Typen
      199
      • 5.6.1
        Referenzen
        200
      • 5.6.2
        Operator ==
        201
      • 5.6.3
        Objekte vergleichen
        202
      • 5.6.4
        Typ eines Objekts ermitteln
        203
      • 5.6.5
        Typ eines Objekts durch Vergleich ermitteln
        205
    • 5.7
      Delegates
      205
    • 5.8
      Statische Elemente
      208
    • 5.9
      Vererbung
      211
    • 5.10
      Konstruktoren bei Vererbung
      215
    • 5.11
      Polymorphie
      217
    • 5.12
      Schnittstellen
      221
    • 5.13
      Strukturen
      224
    • 5.14
      Generische Typen
      228
      • 5.14.1
        Eine Liste von Zeichenketten
        229
      • 5.14.2
        Eine Liste von Objekten
        232
      • 5.14.3
        Ein Dictionary von Objekten
        235
    • 5.15
      Eigene Klassenbibliotheken
      238
      • 5.15.1
        DLL erstellen
        239
      • 5.15.2
        DLL nutzen
        241
    • 5.16
      Mehrere Formulare
      242
  • 6
    Wichtige Klassen in .NET
    247
    • 6.1
      Klasse String für Zeichenketten
      247
      • 6.1.1
        Eigenschaften der Klasse String
        248
      • 6.1.2
        Trimmen
        250
      • 6.1.3
        Splitten
        251
      • 6.1.4
        Suchen
        253
      • 6.1.5
        Einfügen
        256
      • 6.1.6
        Löschen
        258
      • 6.1.7
        Teilzeichenkette ermitteln
        259
      • 6.1.8
        Zeichen ersetzen
        261
      • 6.1.9
        Ausgabe formatieren
        262
    • 6.2
      Datum und Uhrzeit
      264
      • 6.2.1
        Eigenschaften von DateTime
        264
      • 6.2.2
        Rechnen mit Datum und Uhrzeit
        266
      • 6.2.3
        DateTimePicker
        269
    • 6.3
      Dateien und Verzeichnisse
      272
      • 6.3.1
        Lesen aus einer Textdatei
        272
      • 6.3.2
        Schreiben in eine Textdatei
        274
      • 6.3.3
        Sicheres Lesen aus einer Textdatei
        276
      • 6.3.4
        Sicheres Schreiben in eine Textdatei
        279
      • 6.3.5
        Die Klassen File und Directory
        280
      • 6.3.6
        Das aktuelle Verzeichnis
        281
      • 6.3.7
        Eine Liste der Dateien
        282
      • 6.3.8
        Eine Liste der Dateien und Verzeichnisse
        283
      • 6.3.9
        Informationen über Dateien und Verzeichnisse
        284
      • 6.3.10
        Bewegen in der Verzeichnishierarchie
        285
    • 6.4
      XML-Dateien
      287
      • 6.4.1
        Aufbau von XML-Dateien
        287
      • 6.4.2
        Schreiben in eine XML-Datei
        288
      • 6.4.3
        Lesen aus einer XML-Datei
        290
      • 6.4.4
        Schreiben von Objekten
        292
      • 6.4.5
        Lesen von Objekten
        294
    • 6.5
      Rechnen mit der Klasse Math
      296
  • 7
    Weitere Elemente eines Windows-Programms
    303
    • 7.1
      Hauptmenü
      303
      • 7.1.1
        Erstellung des Hauptmenüs
        303
      • 7.1.2
        Code des Hauptmenüs
        306
      • 7.1.3
        Klasse Font
        308
      • 7.1.4
        Schriftart
        308
      • 7.1.5
        Schriftgröße
        310
      • 7.1.6
        Schriftstil
        311
    • 7.2
      Kontextmenü
      312
      • 7.2.1
        Erstellung des Kontextmenüs
        312
      • 7.2.2
        Code des Kontextmenüs
        313
    • 7.3
      Symbolleiste
      315
      • 7.3.1
        Erstellung der Symbolleiste
        315
      • 7.3.2
        Code der Symbolleiste
        316
    • 7.4
      Statusleiste
      319
      • 7.4.1
        Erstellung der Statusleiste
        319
      • 7.4.2
        Code der Statusleiste
        319
    • 7.5
      Eingabedialogfeld
      321
    • 7.6
      Ausgabedialogfeld
      325
    • 7.7
      Standarddialogfelder
      331
      • 7.7.1
        Datei öffnen
        331
      • 7.7.2
        Datei speichern unter
        333
      • 7.7.3
        Verzeichnis auswählen
        335
      • 7.7.4
        Farbe auswählen
        337
      • 7.7.5
        Schrifteigenschaften auswählen
        338
    • 7.8
      Steuerelement ListView
      339
    • 7.9
      Steuerelement Chart
      343
    • 7.10
      Steuerelement DataGridView
      347
    • 7.11
      Lokalisierung
      352
  • 8
    Datenbankanwendungen mit ADO.NET
    357
    • 8.1
      Was sind relationale Datenbanken?
      357
      • 8.1.1
        Beispiel »Lager«
        357
      • 8.1.2
        Indizes
        360
      • 8.1.3
        Relationen
        362
      • 8.1.4
        Übungen
        366
    • 8.2
      Anlegen einer Datenbank in MS Access
      368
      • 8.2.1
        Aufbau von Access
        368
      • 8.2.2
        Datenbankentwurf in MS Access 2016
        369
      • 8.2.3
        Übungen
        374
    • 8.3
      Datenbankzugriff mit C# innerhalb von Visual Studio
      374
      • 8.3.1
        Beispieldatenbank
        375
      • 8.3.2
        Ablauf eines Zugriffs
        376
      • 8.3.3
        Verbindung
        376
      • 8.3.4
        SQL-Befehl
        377
      • 8.3.5
        OleDb
        377
      • 8.3.6
        Auswahlabfrage
        378
      • 8.3.7
        Aktionsabfrage
        380
    • 8.4
      SQL-Befehle
      382
      • 8.4.1
        Auswahl mit SELECT
        383
      • 8.4.2
        Ändern mit UPDATE
        387
      • 8.4.3
        Löschen mit DELETE
        388
      • 8.4.4
        Einfügen mit INSERT
        388
      • 8.4.5
        Typische Fehler in SQL
        388
    • 8.5
      Ein Verwaltungsprogramm
      390
      • 8.5.1
        Initialisierung
        390
      • 8.5.2
        Alle Datensätze sehen
        391
      • 8.5.3
        Datensatz einfügen
        394
      • 8.5.4
        Datensatz ändern
        396
      • 8.5.5
        Datensatz löschen
        399
      • 8.5.6
        Datensatz suchen
        401
    • 8.6
      Abfragen über mehrere Tabellen
      403
      • 8.6.1
        Datenbankmodell und Tabellen
        403
      • 8.6.2
        Alle Personen
        405
      • 8.6.3
        Anzahl der Kunden
        405
      • 8.6.4
        Alle Kunden mit allen Projekten
        405
      • 8.6.5
        Alle Personen mit allen Projektzeiten
        406
      • 8.6.6
        Alle Personen mit Zeitsumme
        407
      • 8.6.7
        Alle Personen mit allen Personenzeiten
        408
      • 8.6.8
        Alle Projekte mit allen Zeitsumme
        409
      • 8.6.9
        JOIN oder WHERE
        409
    • 8.7
      Verbindung zu MySQL
      410
      • 8.7.1
        .NET-Treiber
        410
  • 9
    Internetanwendungen mit ASP.NET
    413
    • 9.1
      Grundlagen von Internetanwendungen
      413
      • 9.1.1
        Statische Internetanwendungen
        413
      • 9.1.2
        Dynamische Internetanwendungen
        414
      • 9.1.3
        Vorteile von ASP.NET
        415
    • 9.2
      Ein lokaler Webserver
      415
      • 9.2.1
        Eine erste Internetanwendung
        415
    • 9.3
      Eine erste ASP.NET-Anwendung
      418
      • 9.3.1
        Fehlerhafte Programmierung
        420
    • 9.4
      Formatierung von Internetseiten
      421
    • 9.5
      Senden und Auswerten von Formulardaten
      423
    • 9.6
      Weitere Formularelemente
      425
    • 9.7
      Ein Kalenderelement
      428
    • 9.8
      ASP.NET und ADO.NET
      430
    • 9.9
      Datenbank im Internet ändern
      433
  • 10
    Zeichnen mit GDI+
    439
    • 10.1
      Grundlagen von GDI+
      439
    • 10.2
      Linie, Rechteck, Polygon und Ellipse zeichnen
      439
      • 10.2.1
        Grundeinstellungen
        440
      • 10.2.2
        Linie
        441
      • 10.2.3
        Rechteck
        442
      • 10.2.4
        Polygon
        443
      • 10.2.5
        Ellipse
        443
      • 10.2.6
        Dicke und Farbe ändern, Zeichnung löschen
        444
    • 10.3
      Text schreiben
      445
    • 10.4
      Bilder darstellen
      447
    • 10.5
      Dauerhaft zeichnen
      449
    • 10.6
      Zeichnen einer Funktion
      451
  • 11
    Beispielprojekte
    455
    • 11.1
      Spielprogramm Tetris
      455
      • 11.1.1
        Spielablauf
        455
      • 11.1.2
        Programmbeschreibung
        456
      • 11.1.3
        Steuerelemente
        457
      • 11.1.4
        Initialisierung des Programms
        458
      • 11.1.5
        Erzeugen eines neuen Panels
        460
      • 11.1.6
        Der Zeitgeber
        461
      • 11.1.7
        Panels löschen
        462
      • 11.1.8
        Panels seitlich bewegen
        466
      • 11.1.9
        Panels nach unten bewegen
        467
      • 11.1.10
        Pause
        468
    • 11.2
      Lernprogramm Vokabeln
      468
      • 11.2.1
        Benutzung des Programms
        468
      • 11.2.2
        Erweiterung des Programms
        470
      • 11.2.3
        Initialisierung des Programms
        471
      • 11.2.4
        Ein Test beginnt
        472
      • 11.2.5
        Zwei Hilfsmethoden
        475
      • 11.2.6
        Die Antwort prüfen
        476
      • 11.2.7
        Das Benutzermenü
        477
  • 12
    Windows Presentation Foundation
    481
    • 12.1
      Layout
      482
    • 12.2
      Steuerelemente
      485
    • 12.3
      Frame-Anwendung
      488
    • 12.4
      Zweidimensionale Grafik
      491
    • 12.5
      Dreidimensionale Grafik
      494
    • 12.6
      Animation
      498
    • 12.7
      WPF und Windows Forms
      501
      • 12.7.1
        Windows Forms in WPF
        502
      • 12.7.2
        WPF in Windows Forms
        503
  • Anhang
    507
    • A
      Installation und technische Hinweise
      507
      • A.1
        Installation von Visual Studio Community 2017
        507
      • A.2
        Arbeiten mit einer Formularvorlage
        509
      • A.3
        Arbeiten mit einer Projektvorlage
        510
      • A.4
        Weitergabe eigener Windows-Programme
        511
      • A.5
        Konfigurationsdaten
        512
    • B
      Lösungen der Übungsaufgaben
      515
      • B.1
        Lösung der Übungsaufgabe aus Kapitel 1
        515
      • B.2
        Lösungen der Übungsaufgaben aus Kapitel 2
        516
      • B.3
        Lösungen der Übungsaufgaben aus Kapitel 4
        528
      • B.4
        Lösungen der Übungsaufgaben aus Kapitel 8
        532
  • Index
    535