Edyta
Ratajczyk
programista/bazodano
wiec/analityk
biznesowy IT
Temat: C# - progresbar - jak???
Witam.Problem zapewne trywialny, ale już mi wsio opada...
Na statusbarze - progresbarr i label.
I dwie sprawy.
1. Z aplikacji łączę się do bazy i pobieram dane - co może trwać. Chciałabym, by user widział, że coś się dzieje. Zmienić typ paska postępu na marque i niech się mieni. ponieważ mam go jeszcze gdzieindziej jako nie marque tylko continuos - robię tak:
tsbLabel.Text = "Trwa pobieranie danych";
tsbProgress.Value = 0;
tsbProgress.Maximum = 100;
tsbProgress.Step = 1;
tsbProgress.Style = ProgressBarStyle.Marquee;
tsbProgress.MarqueeAnimationSpeed = 100;
this.Refresh();
Ale to nie działa - nie mieni się - formularz jest "martwy".
2. Po pobranu danych - przetwarzam je. Tu mnie interesuje ile jeszcze do końca i mam:
tsbProgress.Value = 0;
tsbProgress.Maximum = dvGlowki.Count;
tsbProgress.Style = ProgressBarStyle.Continuous;
this.Refresh();
[...]
i w foreach:
tsbLabel.Text = drvGlowki["nazwa"].ToString();
tsbProgress.PerformStep();
statusStrip1.Refresh();
this.Refresh();
[...]
nie ważne, czy status, czy this odświeżam - nie hula.
Na końcu mam radosne pip...
Czy może to być zależne od np. ilości wierszy? Ale wtedy przynajmniej zmianę label'a powinnam widzieć.
Help - bo mnie już trafia...