Prozent in Progressbar schreiben
-
Hallo,
ich möchte in meiner ProgessBar (Windows Forms) eine Prozentzahl mit einblenden und habe folgendes gefunden:
http://www.dreamincode.net/forums/topic/62979-add-the-percent-into-a-progress-bar/Das funktioniert auch nur flackert die Schrift wenn die Animation des Balkens durchläuft.
Ich habe folgenden code:pbSOC.Refresh(); int percent = (int)(((double)pbSOC.Value / (double)pbSOC.Maximum) * 100); pbSOC.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Arial", (float)8.25, FontStyle.Regular), Brushes.Black, new PointF(pbSOC.Width / 2 - 10, pbSOC.Height / 2 - 7));
Kann mir jemand sagen wie ich das Flackern unterbinden kann? Es würde mir auch ausreichen die Animation abzuschalten. Leider bekomme ich beides nicht hin...
Grüße,
MeinAccount
-
Zeichnen sollte man eigentlich nur im Paint-Ereignis. Da aber ProgressBar.Paint nicht direkt unterstützt wird, sollte man ein eigenes Control davon ableiten und OnPaint überschreiben, s. z.B. Custom Progress Bar Class (beachte auch den SetStyle-Aufruf im Konstruktor!)
Um das Neuzeichnen des Custom Controls (von der Form aus) zu veranlassen, dann einfach Invalidate() (oder so wie du es bisher gemacht hast - Refresh()) aufrufen.