20. februar 2007 - 13:29Der er
9 kommentarer og 1 løsning
ProgressBar paint virker ikke
Hej Eksperter
Jeg har en progressbar hvor jeg vil have noget tekst oven på. Derfor har jeg lavet en klasse med min egen, overridet OnPaint og forsøger at tegne teksten. Men det virker ikke.
Jeg tror slet ikke at den kører OnPaint metoden..
PS: Den skal skrive teksten midt på progressbaren
namespace p2p { public class CustomProgressBar : ProgressBar { protected override void OnPaint(PaintEventArgs e) { this.Text = "Hej med dig";
Image Bitmap = new Bitmap(this.Width, this.Height); Graphics G = Graphics.FromImage(Bitmap); Rectangle box = this.ClientRectangle; SizeF ss = G.MeasureString(this.Text, this.Font);
float left = box.X + (box.Width - ss.Width) / 2; float top = box.Y + (box.Height - ss.Height) / 2;
//SolidBrush mShadowBrush = new SolidBrush(Color.FromArgb(150, Color.Black)); //G.DrawString(this.Text, this.Font, mShadowBrush, left + 1, top + 1); //mShadowBrush.Dispose();
SolidBrush TextBrush = new SolidBrush(Color.Black); G.DrawString(this.Text, this.Font, TextBrush, left, top);
//Draw text e.Graphics.DrawImage(Bitmap, e.ClipRectangle.X, e.ClipRectangle.Y, e.ClipRectangle, GraphicsUnit.Pixel);
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
ProgressBar kører per default ikke OnPaint, den bliver tegnet af OS'et. Det kan du heldigvis override med SetStyle. Så skal du blot selv tegne den. Heldigvis findes der en klasse, ProgressBarRenderer, der hjælper med det.
Hmm, så tror jeg du er ude i at skulle skrive noget kode til selv at tegne det. Lige umiddelbart har jeg ikke nogen idéer til hvordan du ellers skulle gribe dén an.
Synes godt om
Slettet bruger
20. februar 2007 - 22:06#10
hmm, damn :/
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.