[C#] Zustandsanzeige der Bearbeitung

Fisch

Mitglied
Ich hoffe ich nerve nicht mit meinen ganzen Fragen, aber vielleicht,komme ich ja auch irgendwann mal in den Genuss das ich auch Fragen beantworten kann.
Ich habe ein Programm geschrieben das jede Menge Daten aus Dateien einliest und verarbeitet. Jetzt würde ich gerne während der Verarbeitung einen Balken von links nach rechts laufen lassen, der anzeigt wie weit die Verarbeitung ist.(z.B. wie bei einer Installation)Wie stelle ich das an.Hat das was mit Threads zu tun??
(Was auch immer das ist, hab ich nur aufgeschnappt)
 
das lohnt sich normalerweise eigentlich nur, wenn man eine schleife zur bearbeitung der daten benutzt und vorher schon weiss, wie oft diese schleife durchlaufen wird.
ansonsten ist das im normalfall nicht besonders sinnvoll.

in einer schleife könnte das z.b. so aussehen:
Code:
progressBar1.Maximum = 100;
for (int i = 0; i < progressBar1.Maximum; ++i)
{
    // Daten verarbeiten
    progressBar1.Value = i;
}

beispielsweise lohnt sich sowas beim kopieren einer datei, weil man vorher schon weiss, wie gross die quelldatei ist und daher auch das maximum hat.
 
@asphyxia
Du hast recht!

Aber!!!! Er liest die Daten ja aus einer Datei!!! Also könnte er sich die Grösse der Datei ermitteln (=Limit der Progressbar) und entsprechend die gelesenen Zeichen aufsummieren (= aktuelle POS der Progressbar) und somit eine Vorschrittsanzeige realisieren!

@Fisch
Mit Threads hat es nur bedingt was zu tun! Threads setzt man dann ein, wenn man ein Programm nicht blockieren möchte! Beispielsweise eine langwierige Berechnung läuft, aber man möchte gleichwohl mit dem Programm weiterarbeiten können. Da lässt man die Berechnung in einem Thread (Workerthread) ablaufen!

Und zu guter letzt!!!!
Eine Progressbar, wenn man nicht weiss wie lange es dauert, könnte man auch im Stil machen wie beim Aufstarten von XP! Dort gibt es ja auch ein "Progressbar", der hin- und herläuft! Nur um zu zeigen, dass was passiert!!!!

Ist zwar nicht ganz ne Progressbar - sieht aber so aus!!!
 
Ok, erstmal wieder vielen Dank, da ich mehrere Dateien nacheinander einlese, habe ich das Maximum über die Anzahl der Dateien festgelegt, aber jetzt habe ich das nächste Problem, ich würde die Farben gerne ändern, jetzt ist der glaube ich transparent(auf jeden Fall halt auch grau). Mit progressBar.BackColor = Color.Blue oder auch das selbe mit Fore Color funzt es nicht. Was mach e ich falsch???
 

Neue Beiträge

Zurück