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

Inhaltsverzeichnis
Über den Autor
Vorwort zur 4. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign und Vererbung
4 Weitere .NET-Datentypen
5 Weitere Möglichkeiten von C#
6 Projektmanagement und Visual Studio 2008
7 Fehlerbehandlung und Debugging
8 LINQ
9 Multithreading und asynchrone Methodenaufrufe
10 Arbeiten mit Dateien und Streams
11 Serialisierung
12 Einige wichtige .NET-Klassen
13 Grundlagen zum Erstellen einer Windows-Anwendung
14 Die wichtigsten Steuerelemente
15 Tastatur- und Mausereignisse
16 MDI-Anwendungen
17 Grafische Programmierung mit GDI+
18 Das Drucken (Printing)
19 Steuerelemente entwickeln
20 Programmiertechniken
21 WPF – die Grundlagen
22 Die Layoutcontainer
23 Die WPF-Controls
24 Konzepte von WPF
25 ADO.NET – die Verbindung zu einer Datenbank herstellen
26 Die Datenbankabfrage
27 Der SqlDataAdapter
28 Daten im lokalen Speicher – das DataSet
29 Eine Datenbank aktualisieren
30 Stark typisierte DataSets
31 Weitergabe von Anwendungen
Stichwort

Download:
- ZIP, ca. 13,6 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual C# 2008 von Andreas Kuehnel
Das umfassende Handbuch
Buch: Visual C# 2008

Visual C# 2008
geb., mit DVD
1.366 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1172-7
Pfeil 14 Die wichtigsten Steuerelemente
Pfeil 14.1 Gemeinsame Eigenschaften, Methoden und Ereignisse
Pfeil 14.1.1 Größe und Position
Pfeil 14.1.2 Die Sichtbarkeit und der Aktivierungszustand
Pfeil 14.1.3 Die Eigenschaft »Text«
Pfeil 14.1.4 Die Farbeigenschaften
Pfeil 14.1.5 Grafische Darstellung
Pfeil 14.1.6 Die »Modifiers«-Eigenschaft
Pfeil 14.1.7 Die Eigenschaft »Tag«
Pfeil 14.1.8 Die Größe von Steuerelementen dynamisch der Formgröße anpassen
Pfeil 14.1.9 Die »Dock«-Eigenschaft
Pfeil 14.1.10 Steuerelemente fokussieren
Pfeil 14.1.11 Maus- und Tastaturereignisse
Pfeil 14.2 Schaltflächen der Klasse »Button«
Pfeil 14.2.1 Die Rahmendarstellung einer Schaltfläche
Pfeil 14.2.2 Die Eigenschaft »FlatAppearance«
Pfeil 14.2.3 Beschriftung und Grafiken
Pfeil 14.3 Auswahlkästchen mit der Klasse »CheckBox«
Pfeil 14.3.1 Eigenschaften eines Kontrollkästchens
Pfeil 14.3.2 Checkboxen mit drei Aktivierungszuständen
Pfeil 14.4 Die Klasse »RadioButton« (Optionsschaltflächen)
Pfeil 14.4.1 Die Gruppierung der Optionsschaltflächen
Pfeil 14.4.2 Die Eigenschaften von Optionsschaltflächen
Pfeil 14.4.3 Den Zustandswechsel programmieren
Pfeil 14.5 Die »GroupBox« als übergeordneter Container
Pfeil 14.6 Texteingabefelder mit der Klasse »TextBox«
Pfeil 14.6.1 Einzeilige Eingabefelder
Pfeil 14.6.2 Mehrzeilige Eingabefelder
Pfeil 14.7 Beschriftungen mit dem Steuerelement »Label«
Pfeil 14.8 Die Anzeige eines Quickinfo-Texts
Pfeil 14.8.1 Methoden des »ToolTip«-Steuerelements
Pfeil 14.8.2 Aktivierungsdauer des »QuickInfo«-Steuerelements
Pfeil 14.8.3 Weitere Eigenschaften
Pfeil 14.9 Das »ListBox«-Steuerelement
Pfeil 14.9.1 Die Auflistung »ListBox.ObjectCollection«
Pfeil 14.9.2 Eigenschaften zur Darstellung einer Listbox
Pfeil 14.9.3 Einfach- und Mehrfachauswahl der Listenelemente
Pfeil 14.9.4 Programmgesteuerter Zugriff auf Listboxen mit Einfachauswahl
Pfeil 14.9.5 Benutzerdefiniertes Sortieren der Listenelemente
Pfeil 14.9.6 Füllen einer Listbox mit »DataSource«
Pfeil 14.10 Das Steuerelement »CheckedListBox«
Pfeil 14.11 Die »ComboBox« (Kombinationslistenfeld)
Pfeil 14.11.1 Ereignisse eines Kombinationslistenfeldes
Pfeil 14.11.2 Autovervollständigung in einer »ComboBox«
Pfeil 14.12 Standarddialoge
Pfeil 14.12.1 Die Klasse »OpenFileDialog«
Pfeil 14.12.2 Die Klasse »SaveFileDialog«
Pfeil 14.12.3 Der Dialog »FolderBrowserDialog«
Pfeil 14.12.4 Die Klasse »ColorDialog«
Pfeil 14.12.5 Die Klasse »FontDialog«
Pfeil 14.13 Menü-, Symbol- und Statusleiste sowie Kontextmenüs
Pfeil 14.13.1 Das Steuerelement »ToolStripContainer«
Pfeil 14.13.2 Bereitstellen eines Menüs
Pfeil 14.13.3 Kontextmenüs
Pfeil 14.13.4 Die Symbolleiste
Pfeil 14.13.5 Die Statusleiste
Pfeil 14.13.6 Eine Statusleiste bereitstellen
Pfeil 14.14 Bildlaufleisten mit »HScrollBar« und »VScrollBar«
Pfeil 14.15 Das »ProgressBar«-Steuerelement
Pfeil 14.16 Das »Timer«-Steuerelement
Pfeil 14.17 Das »Panel«-Steuerelement
Pfeil 14.18 Registerkarten mit »TabControl«
Pfeil 14.18.1 Die Klasse »TabControl«
Pfeil 14.19 Das »TreeView«-Steuerelement
Pfeil 14.19.1 Knotenpunkte im »TreeView« definieren
Pfeil 14.19.2 Eigenschaften des »TreeView«-Steuerelements
Pfeil 14.19.3 Die Ereignisse des »TreeView«-Steuerelements
Pfeil 14.19.4 Weitere Eigenschaften und Methoden des »TreeView«-Objekts
Pfeil 14.19.5 Eigenschaften und Methoden des »TreeNode«-Objekts
Pfeil 14.20 Die beiden »Splitter«-Steuerelemente
Pfeil 14.20.1 Das Steuerelement »Splitter«
Pfeil 14.20.2 Das Steuerelement »SplitContainer«
Pfeil 14.21 Das »ListView«-Steuerelement
Pfeil 14.21.1 Die Klassen des »ListView«-Steuerelements
Pfeil 14.21.2 Die Eigenschaften der »ListView«
Pfeil 14.21.3 Listenelemente vom Typ »ListViewItem«
Pfeil 14.21.4 Das Element »ListViewSubItem«
Pfeil 14.21.5 Der Typ »ColumnHeader«
Pfeil 14.21.6 Listenelemente Gruppen zuordnen
Pfeil 14.21.7 Sortierung der Spalten
Pfeil 14.21.8 Listenelemente ändern
Pfeil 14.21.9 Beispielanwendung

14 Die wichtigsten Steuerelemente


Galileo Computing - Zum Seitenanfang

14.1 Gemeinsame Eigenschaften, Methoden und Ereignisse Zur nächsten ÜberschriftZur vorigen Überschrift

Alle Steuerelemente weisen gleichnamige Eigenschaften, Methoden und Ereignisse auf, die in ihren Auswirkungen identisch sind und deshalb im Einzelnen nicht bei jedem Steuerelement immer wieder neu vorgestellt werden müssen.


Galileo Computing - Zum Seitenanfang

14.1.1 Größe und Position Zur nächsten ÜberschriftZur vorigen Überschrift

Die Größe eines Steuerelements wird durch die Eigenschaft Size beschrieben, die vom Typ der Struktur Size ist. Diese hat die für uns wichtigen Eigenschaften Width und Height, mit denen man die Breite und Höhe eines Steuerelements einstellen kann.

Die Position eines Steuerelements wird durch die Position seines linken oberen Eckpunktes relativ zum Ursprungspunkt des Clientbereichs des Containers (hier der Form) beschrieben. Zur Positionierung dient die Eigenschaft Location, die vom Typ der Struktur Point ist und die Koordinaten eines Punktes mit den beiden öffentlichen Eigenschaften X und Y beschreibt.

btn.Location = new Point(150, 20);

Alternativ können Sie auch mit Left und Top die Position festlegen. Left ist der Abstand des Steuerelement-Ursprungspunktes vom linken Rand des Clientbereichs, Top der Abstand vom oberen Rand – immer bezogen auf den Clientbereich der Form, dessen Abmessungen geringer sind als die der Außenabmessungen.


Galileo Computing - Zum Seitenanfang

14.1.2 Die Sichtbarkeit und der Aktivierungszustand Zur nächsten ÜberschriftZur vorigen Überschrift

Die Eigenschaft Visible steuert die Sichtbarkeit eines Controls und ist vom Typ Boolean. true bedeutet, dass das Steuerelement angezeigt wird; false besagt, dass es nicht sichtbar ist.

Sehr ähnlich ist auch die Eigenschaft Enabled zu bewerten. Mit der Einstellung false ist ein Steuerelement deaktiviert und ändert seine Farbdarstellung. Eine deaktivierte Schaltfläche hat beispielsweise eine graue Beschriftung.


Galileo Computing - Zum Seitenanfang

14.1.3 Die Eigenschaft »Text« Zur nächsten ÜberschriftZur vorigen Überschrift

Die Eigenschaft Text dient generell dazu, eine Beschriftung anzugeben. Wird ein neues Steuerelement erzeugt, wird dieser Eigenschaft in den meisten Fällen eine Standardzeichenfolge zugewiesen, die dem automatisch zugewiesenen Namen des Steuerelements entspricht.

Mit der Eigenschaft Font des Steuerelements wird die Schriftgröße und die Schriftart der Eigenschaft Text eingestellt. Eine Ausnahme hiervon ist die Beschriftung der Titelleiste eines Formulars. Viele Steuerelemente stellen darüber hinaus auch mit TextAlign eine Eigenschaft bereit, um den Text auszurichten.


Galileo Computing - Zum Seitenanfang

14.1.4 Die Farbeigenschaften Zur nächsten ÜberschriftZur vorigen Überschrift

Die Farben werden mit den Eigenschaften BackColor und ForeColor eingestellt. BackColor legt dabei die Hintergrundfarbe fest, ForeColor die Vordergrundfarbe. Die Vordergrundfarbe beschreibt die Farbe eines Textes.


Galileo Computing - Zum Seitenanfang

14.1.5 Grafische Darstellung Zur nächsten ÜberschriftZur vorigen Überschrift

Die Eigenschaft Image eines Steuerelements ermöglicht die Anzeige eines Bildes im Steuerelement. Ein Image kann sowohl eine Bitmap als auch ein Icon oder eine Metadatei sein. Allerdings haben nicht alle Steuerelemente diese Eigenschaft. Häufig wird darüber hinaus auch die Eigenschaft ImageAlign angeboten, damit das Bildchen ausgerichtet werden kann.

Die sehr ähnliche Eigenschaft BackGroundImage zeigt ein Bild hintergrundfüllend an. Dazu wird das Bild sich periodisch wiederholend dargestellt.


Galileo Computing - Zum Seitenanfang

14.1.6 Die »Modifiers«-Eigenschaft Zur nächsten ÜberschriftZur vorigen Überschrift

Standardmäßig ist der Zugriffsmodifizierer der Steuerelemente private. Deshalb hat auch nur der Code in der Form Zugriff auf das Steuerelement.

Wollen Sie den Zugriff auf ein Steuerelement aus einer anderen Form heraus gewährleisten (beispielsweise, um den Inhalt einer Textbox lesen zu können), muss ein anderer Zugriffsmodifizierer gewählt werden. Im Eigenschaftsfenster können Sie diesen mit der Eigenschaft Modifiers (die allerdings keine Eigenschaft, sondern nur eine Option der Entwicklungsumgebung ist) nach eigenem Ermessen festlegen.


Galileo Computing - Zum Seitenanfang

14.1.7 Die Eigenschaft »Tag« Zur nächsten ÜberschriftZur vorigen Überschrift

Die Eigenschaft Tag dient allgemeinen Zwecken. Sie können ihr einen beliebigen Wert zuweisen, denn Tag ist vom Typ Object – zumindest solange Sie Tag im Programmcode einen Wert zuweisen. Ein Eintrag im Eigenschaftsfenster wird als string interpretiert.

Mit der Wertzuweisung ist keine bestimmte Aktion und auch kein bestimmtes Verhalten verbunden. Sie müssen im Programmcode selbst für die gewünschte Interpretation sorgen. Damit ist Tag nur ein »dummes« Feld, das auf Klassenebene deklariert ist.


Galileo Computing - Zum Seitenanfang

14.1.8 Die Größe von Steuerelementen dynamisch der Formgröße anpassen Zur nächsten ÜberschriftZur vorigen Überschrift

Alle Steuerelemente zeigen ein identisches Verhalten, wenn die Größe des Fensters zur Laufzeit verändert wird: Ausgehend vom linken oberen Punkt des Formulars behalten sie ihre Größe und Position bei. Ein Vergrößern der Form führt daher im rechten und unteren Teil zu einem steuerelementfreien Bereich. Bei einer Verkleinerung hingegen sind die rechts außen oder unten stehenden Steuerelemente möglicherweise nicht mehr sichtbar – ein hässlicher Effekt.

Zuweilen ist es sinnvoll, wenn sich die Größe der Steuerelemente dynamisch der Größe der Form anpasst und ihre relative Position innerhalb der Form erhalten bleibt. Realisieren lässt sich eine solche Forderung mit der Eigenschaft Anchor, die vom Typ der Enumeration AnchorStyles ist und insgesamt fünf Werte beschreibt, mit denen ein Steuerelement am Rand seines Containers verankert werden kann. Verankert heißt, dass bei einer Größenänderung der Form der Abstand zwischen Formular und Form konstant bleibt.


Tabelle 14.1 Die Enumeration »AnchorStyles«

Member Beschreibung

None

Das Steuerelement ist an keinem Rand verankert.

Top

Das Steuerelement ist am oberen Rand verankert.

Bottom

Das Steuerelement ist am unteren Rand verankert.

Left

Das Steuerelement ist am linken Rand verankert.

Right

Das Steuerelement ist am rechten Rand verankert.


AnchorStyles verfügt über das Attribut [Flags]. Die einzelnen Konstanten der Enumeration können daher bitweise kombiniert werden.

Sie können die Konstanten im Eigenschaftsfenster einstellen. In der Wertespalte wird über eine Schaltfläche mit einem nach unten zeigenden Pfeil ein kleines Hilfsfenster geöffnet (siehe Abbildung 14.1). In diesem markieren Sie die Abstände, die zum Rahmen des Containers konstant bleiben sollen. In der Abbildung handelt es sich um den Abstand zum oberen und unteren Rand der Form.

Abbildung 14.1 Das Einstellen der Eigenschaft »Anchor«


Galileo Computing - Zum Seitenanfang

14.1.9 Die »Dock«-Eigenschaft Zur nächsten ÜberschriftZur vorigen Überschrift

Manchmal ist es allerdings wünschenswert, dass Steuerelemente bündig am Rand ihres Containers ausgerichtet werden. Denken Sie in diesem Zusammenhang nur an MS Notepad oder an den Explorer.

In Notepad passt sich das Textsteuerelement den Rändern der Form automatisch an. Im Explorer sind den Teilfenstern so Bereiche zugeordnet, dass bei einer Größenänderung der Form oder einer Neuaufteilung des Clientbereichs das linke Teilfenster eine konstante Breite hat.

Mit der Eigenschaft Dock können Sie dieses Verhalten auch festlegen. Legen Sie fest, an welcher Seite des Containers das Steuerelement angedockt werden soll. Neben None, was auch der Standard ist, stehen Ihnen noch weitere fünf Möglichkeiten zur Verfügung: Left, Right, Top, Bottom und Fill. Mit der letztgenannten Einstellung wird das Steuerelement an allen vier Rändern des Containers ausgerichtet.


Galileo Computing - Zum Seitenanfang

14.1.10 Steuerelemente fokussieren Zur nächsten ÜberschriftZur vorigen Überschrift

Wollen Sie ein bestimmtes Steuerelement mittels Programmcode fokussieren, müssen Sie auf der Referenz des Steuerelements die Methode Focus aufrufen, z. B. so:

textBox1.Focus();

Eine zweite Möglichkeit, den Eingabefokus zu setzen, bietet sich mit der Methode Select.

Fokuswechsel mit der »Alt«-Taste

Häufig sind in Windows-Fenstern Steuerelemente zu finden, die in ihrer Beschriftung einen unterstrichenen Buchstaben aufweisen. Diese Kennzeichnung dient dem Anwender als optischer Hinweis, dass er mit der Tastenkombination Alt + (<unterstrichener Buchstabe>) den Fokus auf das entsprechende Steuerelement setzen kann.

Um dieses Verhalten zu erreichen, müssen Sie vor dem betreffenden Buchstaben nur das »&«-Zeichen in der Text-Eigenschaft eintragen. Müssen Sie innerhalb der Beschriftung ein »&«-Zeichen anzeigen, geben Sie das Zeichen zweimal hintereinander an.

Die Eigenschaften »TabStop« und »ProcessTabKey«

Ein Steuerelement kann mit TabStop=false aus der Fokussierreihenfolge herausgenommen werden. Wechselt der Anwender mit der Tab -Taste zu diesem Steuerelement, leitet es den Fokus sofort an das nächste in der Fokussierreihenfolge stehende Steuerelement weiter.

Die Methode ProcessTabKey der Form aktiviert das in der Tabulatorreihenfolge nächste Steuerelement. Die Methode erwartet ein Argument, mit dem festgelegt wird, ob die Tabulatorreihenfolge vorwärts (true) oder rückwärts (false) durchlaufen werden soll.

Die Ereignisse beim Fokuswechsel

Beim Fokuswechsel spielen immer zwei Steuerelemente eine Rolle: das Steuerelement, das den Fokus verliert, und das Steuerelement, das den Fokus erhält. In diesem Szenario sind sechs Ereignisse interessant:

  • Enter wird beim Eintreten in den Bereich des Steuerelements ausgelöst.
  • GotFocus tritt auf, wenn ein Steuerelement den Fokus erhält.
  • Leave wird ausgelöst, wenn der Eingabefokus das Steuerelement verlässt.
  • LostFocus wird ausgelöst, wenn das Steuerelement den Fokus verliert.
  • Validating tritt auf, während das Steuerelement eine Überprüfung durchführt.
  • Validated tritt nach dem Beenden der Überprüfung auf.

Enter und GotFocus treten bei dem Steuerelement auf, das den Eingabefokus erhält, alle anderen Ereignisse bei dem Element, das den Eingabefokus abgibt. Die beiden Ereignisse Validating und Validated setzen darüber hinaus voraus, dass die Eigenschaft CausesValidation des fokusabgebenden Steuerelements auf true eingestellt ist.

Entscheidend für die Reihenfolge der Ereignisse ist, auf welche Art und Weise der Fokuswechsel erfolgt. Der Fokuswechsel mit der Maus oder durch Aufruf von Focus führt zur folgenden Ereignisreihenfolge:

  • Enter
  • GotFocus
  • LostFocus
  • Leave
  • Validating
  • Validated

Ein wenig anders ist die Reihenfolge, wenn dem Fokuswechsel die Tastatur oder der Aufruf der Methode Select zugrunde liegt:

  • Enter
  • GotFocus
  • Leave
  • Validating
  • Validated
  • LostFocus

Auf die Implementierung von GotFocus und LostFocus sollten Sie ganz verzichten und stattdessen den erforderlichen Code in Enter und Leave schreiben.

Validierung von Benutzereingaben

Das Ereignis Validating dient dazu, eine Überprüfung des Controls vor dem Fokuswechsel vorzunehmen. Bei einer Textbox könnte das beispielsweise der Inhalt der Eigenschaft Text sein. Hat sie einen unzulässigen Inhalt, lässt sich in Validating der Fokuswechsel unterbinden. Dazu übergibt das Ereignis dem Ereignishandler ein Objekt vom Typ CancelEventArgs, dessen Eigenschaft Cancel auf true zu setzen ist.

Im folgenden Codefragment wird der Inhalt der Textbox textBox1 überprüft. Ist sie leer, wird der Fokus nicht an das nächste in der Fokussierreihenfolge stehende Steuerelement weitergegeben:

private void textBox1_Validating(object sender, CancelEventArgs e) { 
  if (textBox1.Text.Length == 0) 
      e.Cancel = true; 
}

Hat das Steuerelement die Prüfung positiv abgeschlossen, wird Validated ausgelöst.

Eine Bedingung ist mit der Auslösung der beiden Ereignisse Validating und Validated verbunden: Die Eigenschaft CausesValidation des zu überprüfenden Steuerelements muss true (Standardeinstellung) sein. false unterdrückt die Gültigkeitsüberprüfung.


Galileo Computing - Zum Seitenanfang

14.1.11 Maus- und Tastaturereignisse topZur vorigen Überschrift

Die meisten Steuerelemente reagieren auf Maus- und Tastaturereignisse. Das vermutlich wichtigste Mausereignis dürfte das Ereignis Click sein, das ausgelöst wird, wenn der Anwender zur Laufzeit ein Steuerelement anklickt. Sehr ähnlich ist das Ereignis DoubleClick, das auf die schnelle Abfolge zweier Mausklicks reagiert. Das Click-Ereignis wird übrigens auch dann ausgelöst, wenn auf ein Steuerelement doppelgeklickt wird. In den meisten Fällen werden Sie sich daher entscheiden müssen, welches der beiden Ereignisse Sie codieren wollen.

Sehr ähnlich sind sich die Ereignisse Click und MouseClick sowie DoubleClick und MouseDoubleClick. Während Click und DoubleClick keine ereignisspezifischen Informationen an den Ereignishandler weiterleiten, können Sie bei den beiden anderen beispielsweise die Koordinaten des Mauszeigers beim Klicken auf eine Komponente ermitteln.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2008






Visual C# 2008
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Coding for Fun






 Coding for Fun


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Videotraining - Visual C# 2008






 Videotraining -
 Visual C# 2008


Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2008






 Fortgeschrittene
 Programmierung mit
 Visual C# 2008


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in XML






 Einstieg in XML


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de