vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Form load Progressbar? 
Autor: DrickesNeu
Datum: 05.03.12 11:23

Hallo,

ich habe folgendes Problem bzw. suche nach einer Hilfe.

Ich öffne ein Formular. Bevor es aber angezeigt wird, kann es schon mal einige Sekunden dauern, da gewisse Dateien aus Netzwerkordnern ausgelesen werden müssen. Um den Anwender nicht das Gefühl zu geben, es passiert nichts, suche ich nach einer Lösung, z.B. in Form einer Progress Bar bzw. Hour Glass.

Vielen Dank im Voraus für Euer Feedback.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Form load Progressbar? 
Autor: raiserle
Datum: 05.03.12 11:34

Hi DrickesNeu,

lass doch die Form laden und pack das Laden der Daten in einen Thread.

private thStartCopy As System.Threading.Thread
private Sub Form_Load() Handles Me.Load
    thStartCopy = New System.Threading.Thread(AddressOf StartCopy)
 
end sub
 
private sub StartCopy
    '... irgendwas anzeigen (zb. modale Form....)
    '... kopieren
    '... irgendwas anzeigen (aus)
end sub
vG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Form load Progressbar? 
Autor: Manfred X
Datum: 05.03.12 11:36

Hallo!

Me.Cursor = Cursors.WaitCursor

Hast Du die Möglichkeit, den aktuellen Stand des Fortschritts zu erkennen?
(Werden z.B. im Code mehrere Schritte nacheinander ausgeführt, die alle einen
gewissen Zeitbedarf haben?)
Wäre ein asynchron im Hintergrund ausgeführter Thread vielleicht eine Option?
(Der Benutzer könnte in der Zwischenzeit evt. bereits bestimmte Infos erhalten.)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Form load Progressbar? 
Autor: DrickesNeu
Datum: 05.03.12 12:11

Hallo Raiserle, Hallo Manfred X

zunächst vielen Dank für Eure schnellen Antworten.

Ehrlich gesagt, da ich blutiger Anfänger bin, komme ich mit Euren Tips "noch" nicht weiter.

Zur Frage von Manfred X. Ja, bevor besagte Form angezeigt wird, laufen Dinge nacheinander ab. Von daher würde ich sehr gerne, dem Anwender eine Info geben wollen, wie weit der Prozess ist.
Habe gerade in der Zwischenzeit über Toolstrpporgressbar sowie Backgroundworker gelesen.

Also nochmals zur Erklärung. Ich habe ein Hauptformular, das eine Menüleiste hat. In dieser Menüleiste gibt es ein Control "Prüfung einlesen". Auf dem lokalen Rechner erscheint dann, nach Anklickes dieses Controls, auch in Bruchteilen von Sekunden das Form "Prüfung einlesen". Beim Ereignis Handler Load des Form "Prüfung einlesen" werden Dateien ausgelesen und die Infos in dem Form angezeigt. Wo es um einiges länger dauert, ca. 5-10 Sekunden, ist wenn man von einem Netzwerkrechner auf die Dateien des Servers zugreift. Dafür möchte ich gerne diese Progressbar haben. Weiss nur nicht wie man es macht.

Nochmals vielen Dank für Eure Rückmeldung
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Form load Progressbar? 
Autor: Manfred X
Datum: 05.03.12 12:25

Hallo!

Mit dem Studium des Backgroundworker bist Du auf einem guten Weg.
Dieser Tipp demonstriert u.a. wie Du den Fortschritt nach jedem
erledigten Arbeitsschritt melden und damit eine Progressbar steuern kannst:
http://www.vbarchiv.net/tipps/details.php?id=1477
http://www.vbarchiv.net/tipps/details.php?id=1404
Das Lesen solltest Du nicht im Load-Handler erledigen, sondern z.B.
im DoWork des Workers schrittweise abarbeiten.

Beitrag wurde zuletzt am 05.03.12 um 12:31:26 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Form load Progressbar? 
Autor: DrickesNeu
Datum: 05.03.12 14:48

Hallo Manfred X,

ich möchte mich nochmals recht herzlich bedanken. Es funzt. Ich habe die Geschichte nun am laufen und bin wieder um eine Erkenntnis reicher: Nichts ist unmöglich!!!!

Ich habe das ganze über den Backgroundworker gemacht.

Thema für mich damit im positiven Sinne erledigt.

Vielen Dank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel