Myślałeś, że powinno być całkiem łatwe stworzenie ProgressBar
, które narysowało trochę tekstu. Jednak nie jestem pewien, co się tu dzieje ...C#: Nadpisanie OnPaint na ProgressBar nie działa?
Dodałem dwa następujące przesłonięcia:
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);
}
jednak uzyskać żadnego tekstu, jak i metody nawet nie wydają się być wywołana . Co tu się dzieje?
Aktualizacja: Dzięki dwie odpowiedzi tak daleko, mam zdobyć to rzeczywiście wywołać OnPaint
za pomocą i mam zdobyć go wyciągnąć tekst w odpowiednim miejscu, wysyłając w new Rectangle(0, 0, Width, Height)
zamiast z Bounds
.
Dostaję teraz tekst, ale ProgressBar
zniknął ... a punktem był rodzaj tekstu na górze ProgressBar
. Każdy pomysł, jak mogę to rozwiązać?
Oooh. Dobry połów. – Svish