Pensavo che sarebbe stato piuttosto semplice creare uno ProgressBar
che disegnasse del testo su se stesso. Tuttavia, io non sono abbastanza sicuro che cosa sta succedendo qui ...C#: l'override di OnPaint su ProgressBar non funziona?
ho aggiunti i seguenti due sostituzioni:
protected override void OnPaintBackground(PaintEventArgs pevent)
{
base.OnPaintBackground(pevent);
var flags = TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter | TextFormatFlags.SingleLine | TextFormatFlags.WordEllipsis;
TextRenderer.DrawText(pevent.Graphics, "Hello", Font, Bounds, Color.Black, flags);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var flags = TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter | TextFormatFlags.SingleLine | TextFormatFlags.WordEllipsis;
TextRenderer.DrawText(e.Graphics, "Hello", Font, Bounds, Color.Black, flags);
}
Tuttavia, ottengo nessun testo, ei metodi non sembra nemmeno di essere chiamato . Che cosa sta succedendo qui?
Update: Grazie ai due risposte finora, mi hanno ottenuto per chiamare in realtà il OnPaint
utilizzando , e ho ottenuto per disegnare il testo nel posto giusto con l'invio in new Rectangle(0, 0, Width, Height)
invece di Bounds
.
Ora ottengo il testo, ma lo ProgressBar
non c'è più ... e il punto era il tipo di testo sopra lo ProgressBar
. Qualche idea su come posso risolvere questo?
Oooh. Buona pesca. – Svish