Galileo Computing < openbook > Galileo 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

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
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
Pfeil 12 Die wichtigsten Steuerelemente
Pfeil 12.1 Gemeinsamkeiten
Pfeil 12.1.1 Größe und Position
Pfeil 12.1.2 Sichtbarkeit und Aktivierungszustand
Pfeil 12.1.3 Beschriftung
Pfeil 12.1.4 Farben
Pfeil 12.1.5 Grafische Darstellung
Pfeil 12.1.6 Zugriffsrechte
Pfeil 12.1.7 Zusatzinformationen speichern
Pfeil 12.1.8 Position bei Größenänderung der Form
Pfeil 12.1.9 Die Größe mit der Form skalieren
Pfeil 12.1.10 Kindelemente
Pfeil 12.1.11 Steuerelemente fokussieren
Pfeil 12.1.12 Maus- und Tastaturereignisse
Pfeil 12.2 Schaltflächen (Button)
Pfeil 12.2.1 Rahmendarstellung
Pfeil 12.2.2 Beschriftung und Grafiken
Pfeil 12.3 Auswahlkästchen (CheckBox)
Pfeil 12.3.1 Eigenschaften
Pfeil 12.3.2 Drei Zustände
Pfeil 12.4 Gruppierung (GroupBox)
Pfeil 12.5 Optionsschaltflächen (RadioButton)
Pfeil 12.5.1 Gruppierung
Pfeil 12.5.2 Eigenschaften
Pfeil 12.5.3 Zustandswechsel programmieren
Pfeil 12.6 Texteingabefelder (TextBox)
Pfeil 12.6.1 Einzeilige Eingabefelder
Pfeil 12.6.2 Mehrzeilige Eingabefelder
Pfeil 12.7 Beschriftungen (Label)
Pfeil 12.8 Popuptextfenster (ToolTip)
Pfeil 12.8.1 Definition von Hinweistexten
Pfeil 12.8.2 Anzeigedauer der Texte
Pfeil 12.8.3 Weitere Eigenschaften
Pfeil 12.9 Auswahllisten (ListBox)
Pfeil 12.9.1 Daten einer ListBox
Pfeil 12.9.2 Darstellung einer Listbox
Pfeil 12.9.3 Einfach- und Mehrfachauswahl
Pfeil 12.9.4 Listboxen mit Einfachauswahl
Pfeil 12.9.5 Listboxen mit Mehrfachauswahl
Pfeil 12.9.6 Benutzerdefinierte Sortierung
Pfeil 12.9.7 Auswahlliste mit Datenquelle (DataSource)
Pfeil 12.10 Markierte Auswahllisten (CheckedListBox)
Pfeil 12.11 Kombinationslistenfelder (ComboBox)
Pfeil 12.11.1 Ereignisse
Pfeil 12.11.2 Autovervollständigung
Pfeil 12.12 Standarddialoge
Pfeil 12.12.1 Datei zum Öffnen wählen (OpenFileDialog)
Pfeil 12.12.2 Datei zum Speichern wählen (SaveFileDialog)
Pfeil 12.12.3 Ordner selektieren (FolderBrowserDialog)
Pfeil 12.12.4 Farbe bekennen (ColorDialog)
Pfeil 12.12.5 Schriftart wählen (FontDialog)
Pfeil 12.13 Menüs, Symbol- und Statusleisten
Pfeil 12.13.1 Menüsammlung (ToolStripContainer)
Pfeil 12.13.2 Menüdefinition
Pfeil 12.13.3 Eigenschaften von Menüs
Pfeil 12.13.4 Kontextmenüs
Pfeil 12.13.5 Symbolleisten
Pfeil 12.13.6 Statusleisten
Pfeil 12.14 Bildlaufleisten (HScrollBar und VScrollBar)
Pfeil 12.15 Fortschrittsbalken (ProgressBar)
Pfeil 12.16 Animationen (Timer)
Pfeil 12.17 Container (Panel)
Pfeil 12.18 Registerkarten (TabControl)
Pfeil 12.19 Baumansichten (TreeView und TreeNode)
Pfeil 12.19.1 Knotenpunkte definieren
Pfeil 12.19.2 Eigenschaften
Pfeil 12.19.3 Ereignisse
Pfeil 12.19.4 Knotenexpansion und -reduktion
Pfeil 12.19.5 Knoten (TreeNode)
Pfeil 12.20 Teiler (Splitter und SplitContainer)
Pfeil 12.20.1 Splitter
Pfeil 12.20.2 SplitContainer
Pfeil 12.21 Listenansicht (ListView)
Pfeil 12.21.1 Beteiligte Klassen
Pfeil 12.21.2 Eigenschaften und Ereignisse
Pfeil 12.21.3 Listenelemente (ListViewItem)
Pfeil 12.21.4 Unterelemente in Spalten (ListViewSubItem)
Pfeil 12.21.5 Spaltenüberschriften (ColumnHeader)
Pfeil 12.21.6 Listenelemente Gruppen zuordnen
Pfeil 12.21.7 Sortierung der Spalten
Pfeil 12.21.8 Listenelemente ändern
Pfeil 12.21.9 Dateiexplorer-Beispiel


Galileo Computing - Zum Seitenanfang

12.15 Fortschrittsbalken (ProgressBar) topZur vorigen Überschrift

Manchmal führen Anwendungen eine länger dauernde Aufgabe durch, z. B. das Kopieren von Dateien, das Herunterladen von Dateien aus dem Internet oder 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 erster Ansatz, 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 rückmeldet.

Die Programmierung dieses Steuerelements ähnelt den zuvor behandelten Bildlaufleisten. Zur Entwicklungszeit legen Sie die Eigenschaften Maximum und Minimum fest, zur Laufzeit ermitteln Sie aus dem aktuellen Stand der Operation den Wert der Eigenschaft Value. Entweder weisen Sie der Eigenschaft einen Wert zu oder rufen die Methode PerformStep auf, um die aktuelle Position der Statusanzeige zu erhöhen. Die Schrittweite wird durch die Eigenschaft Step vorgegeben.

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


Tabelle 12.16 Die Enumeration »ProgressBarStyle«

Konstante Anzeige im Steuerelement

Blocks

Steigende Anzahl unterteilter Blöcke

Continuous

Ein durchgehender Balken

Marquee

Blöcke, die wie eine Laufschrift den Anzeigebereich durchlaufen


Für die Einstellung ProgressBarStyle.Marquee kontrolliert die Eigenschaft MarqueeAnimationSpeed, wie schnell die Laufbalken durch den Anzeigebereich laufen. Die Angabe erfolgt in Millisekunden.

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 12.31).

Abbildung 12.31 Formular des Beispiels »Fortschritt«

Zu Demonstrationszwecken erzeugen wir im Folgenden eine Datei, während die Form geladen wird. Dabei wird in einer Schleife 20001-mal ein Zeichen in die Datei geschrieben, jeweils ein Buchstabe des Alphabets.


'...\WinControls\Dialoge\Fortschritt.vb

Public Class Fortschritt

  Private file As String = IO.Path.Combine( _ 
    Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), _ 
    "TestFortschritt.txt")

  Private Sub Laden(ByVal sender As Object, ByVal e As EventArgs) _ 
  Handles MyBase.Load 
    ' Datei erzeugen und mit Zeichen füllen 
    Dim fs As IO.FileStream = IO.File.Open(file, IO.FileMode.Create) 
    For i As Integer = 0 To 20000 : fs.WriteByte((i Mod 26) + 97) : Next 
    fs.Close() 
  End Sub

  Private Sub Aktion(ByVal sender As Object, ByVal e As EventArgs) _ 
  Handles Füllen.Click 
    Me.Cursor = Cursors.WaitCursor 
    Textfenster.Clear() 
    Textfenster.Refresh() 
    ' Fortschrittsbalken einstellen 
    Fortschrittsbalken.Maximum = (New IO.FileInfo(file)).Length 
    Fortschrittsbalken.Step = 1 
    Fortschrittsbalken.Value = 0 
    ' Datei einlesen und Fortschrittsbalken aktualisieren 
    Dim text As String = "" 
    Dim fs As IO.FileStream = IO.File.Open(file, IO.FileMode.Open) 
    While True 
      Dim var As Integer = fs.ReadByte() 
      If var = –1 Then Exit While 'Dateiende 
      text += Convert.ToChar(var) 
      Fortschrittsbalken.PerformStep() 
    End While 
    fs.Close() 
    Textfenster.Text = text 
    Me.Cursor = Cursors.Default 
  End Sub

  Private Sub Ende(ByVal sender As Object, ByVal e As FormClosedEventArgs) _ 
  Handles MyBase.FormClosed 
    IO.File.Delete(file) 
  End Sub

End Class

Im Ereignishandler des Click-Ereignisses der Schaltfläche wird – nachdem ein Wartecursor gesetzt und die Textbox mit einem Objekt von Typ FileInfo geleert wurde – die Größe der einzulesenden Datei ermittelt, um die Eigenschaft Maximum des ProgressBar-Steuerelements zu setzen. Als Schrittweite des Fortschrittsbalkens wird der Wert 1 festgelegt.

Zum Einlesen wird ein Objekt vom Typ FileStream verwendet, das in einer Schleife die Datei byteweise mit ReadByte einliest und nach jedem gelesenen Byte den Fortschrittsbalken aktualisiert. Sind alle Daten eingelesen, wird die Schleife beendet, der Dateistrom geschlossen und der Inhalt der Datei, der sich in der Variablen text angesammelt hat, in der Textbox angezeigt. Ich habe bewusst auf einen StringBuilder verzichtet, um das Programm etwas auszubremsen. Zum Schluss wird der Mauscursor wiederhergestellt.

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 Basic 2008
Visual Basic 2008
Jetzt bestellen


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

 Buchempfehlungen
Zum Katalog: Visual Basic 2012






 Visual Basic 2012


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
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