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

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
Rheinwerk 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


Galileo Computing - Zum Seitenanfang

14.15 Das »ProgressBar«-Steuerelement topZur vorigen Überschrift

Manchmal führen Anwendungen einen länger dauernden Arbeitsprozess aus. Denken Sie nur an das Kopieren von Dateien, das Herunterladen aus dem Internet oder einfach nur an eine länger dauernde Rechenoperation – Vorgänge, die dem Anwender Geduld abverlangen.

Ein Programm, das eine länger andauernde Aufgabe ausführt, sollte den Benutzer davon in Kenntnis setzen, damit dieser nicht denkt, die Anwendung reagiere nicht mehr. Man kann das dadurch erreichen, dass man für die Dauer der Ausführung den Mauszeiger als Sanduhr darstellt. Das ist ein zwar ein Mittel, um auf die Hintergrundtätigkeit der Anwendung aufmerksam zu machen. Wie lange diese andauern wird, kann der Anwender jedoch nicht im Geringsten abschätzen. Jetzt schlägt die Stunde des ProgressBar-Steuerelements, das dem Anwender über einen Fortschrittsbalken den Stand der Operation optisch vermittelt.

Die Programmierung dieses Steuerelements ist denkbar einfach und erinnert an die zuvor behandelten Bildlaufleisten. Zur Entwicklungszeit legen Sie die Eigenschaften Maximum und Minimum fest, und zur Laufzeit ermitteln Sie aus dem aktuellen Stand der Operation den Wert der Eigenschaft Value. Dieser Eigenschaft können Sie auch einen Wert zuweisen. Alternativ dazu bietet sich auch die Methode PerformStep an, deren Aufruf die Erhöhung der aktuellen Position der Statusanzeige bewirkt. Dabei wird in Schrittweiten vorgegangen, die von der Eigenschaft Step vorgegeben werden.

Mit der Eigenschaft Style können Sie den Anzeigestil des Fortschrittsbalkens festlegen. Dazu gibt es drei Einstellmöglichkeiten, die Sie der folgenden Tabelle entnehmen können.


Tabelle 14.16 Die Mitglieder der Enumeration »ProgressBarStyle«

ProgressBarStyle-Member Beschreibung

Blocks

Zeigt im Steuerelement eine steigende Anzahl unterteilter Blöcke an.

Continuous

Zeigt im Steuerelement einen durchgehenden Balken an.

Marquee

Zeigt im Steuerelement Blöcke an, die wie eine Laufschrift den Anzeigebereich durchlaufen.


Wenn die Einstellung ProgressBarStyle.Marquee lautet, entscheidet die Eigenschaft MarqueeAnimationSpeed darüber, wie schnell sich die Laufbalken durch den Anzeigebereich bewegen. Die Angabe erfolgt in Millisekunden.

Ein Beispielprogramm

Im folgenden Beispielprogramm wird eine Datei geöffnet und deren Inhalt in einer Textbox ausgegeben. Da der Ladevorgang eine längere Zeit in Anspruch nimmt, wird der Ladestatus in einem ProgressBar-Steuerelement angezeigt (siehe Abbildung 14.31).

Abbildung 14.31 Die Form des Beispielprogramms »ProgressBarDemo«

Zu Demonstrationszwecken wird die Datei im Konstruktor der Form erzeugt. Dabei werden 20.000 Zeichen in die Datei geschrieben – in einer Schleife jeweils immer die Zeichen des Alphabets.

// --------------------------------------------------------------
// Beispiel: ...\Kapitel 14\ProgressBarDemo
// ------------------------------------------------------------------
private string file = @"C:\Test.txt";

public Form1() { 
   InitializeComponent(); 
   // Datei erzeugen und mit Zeichen füllen 
   FileStream fs = File.Open(file, FileMode.Create); 
   byte b = 97; 
   for(int i = 0; i < 20000; i++) { 
      fs.WriteByte(b++); 
      if (b == 123) b = 97; 
   } 
   fs.Close(); 
}

private void button1_Click(object sender, EventArgs e) { 
   this.Cursor = Cursors.WaitCursor; 
   int var = 0; 
   string text = ""; 
   textBox1.Clear(); 
   textBox1.Refresh(); 
   FileInfo fi = new FileInfo(file); 
   // ProgressBar-Maximum auf Dateigröße einstellen 
   proFuellen.Maximum = (int)fi.Length; 
   // Schrittweite einstellen 
   proFuellen.Step = 1; 
   // Datei öffnen 
   FileStream fs = File.Open(file, FileMode.Open); 
   while(true) { 
      var = fs.ReadByte(); 
      // wenn Datei eingelesen, Schleife beenden 
      if(var == -1) 
         break; 
      text += Convert.ToChar(var); 
      // Fortschrittsbalken einstellen 
      proFuellen.PerformStep(); 
   } 
   textBox1.Text = text; 
   fs.Close(); 
   proFuellen.Value = 0; 
   this.Cursor = Cursors.Default; 
}

private void Form1_FormClosed(object sender, FormClosedEventArgs e) { 
  File.Delete(file); 
}

Im Ereignishandler des Click-Ereignisses der Schaltfläche wird nach einigen Vorarbeiten die Größe der einzulesenden Datei ermittelt, um die Eigenschaft Maximum des ProgressBar-Steuerelements einzustellen. Dafür eignet sich ein Objekt von Typ FileInfo, dessen Eigenschaft Length ausgewertet wird. Als Schrittweite des Fortschrittsbalkens wird der Wert 1 festgelegt.

Für das Öffnen der Datei bietet sich ein Objekt vom Typ FileStream an, weil in einer Schleife die Datei byteweise mit ReadByte eingelesen werden kann und sich damit auch ein Ansatzpunkt anbietet, den Fortschrittsbalken zu aktualisieren. Sind alle Daten eingelesen, wird die Schleife beendet und der Inhalt der Datei, der sich in der Variablen text angesammelt hat, in der Textbox angezeigt. Zum Schluss muss noch der FileStream geschlossen und das ProgressBar-Steuerelement auf seine Ursprungsposition zurückgesetzt werden. Während der Ereignishandler ausgeführt wird, zeigt der Mauscursor eine Sanduhr an. Beim Schließen der Form wird die erstellte Datei gelöscht.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< 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: Visual C# 2012






 Visual C# 2012


Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 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.


[Rheinwerk Computing]

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