Đã nghĩ rằng việc tạo một số ProgressBar
sẽ tự tạo ra một số văn bản. Tuy nhiên, tôi không hoàn toàn chắc chắn những gì đang xảy ra ở đây ...C#: Ghi đè OnPaint trên ProgressBar không hoạt động?
tôi thêm hai ghi đè sau:
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);
}
Tuy nhiên, tôi không nhận được văn bản, và các phương pháp thậm chí không dường như được gọi là . Chuyện gì đang xảy ra ở đây?
Cập nhật: Nhờ có hai câu trả lời cho đến nay, tôi đã nhận được nó để thực sự gọi OnPaint
bằng cách sử dụng , và tôi đã nhận nó để vẽ văn bản ở đúng nơi bằng cách gửi trong new Rectangle(0, 0, Width, Height)
thay của Bounds
.
Tôi nhận được văn bản ngay bây giờ, nhưng ProgressBar
đã biến mất ... và điểm là loại có văn bản ở trên cùng của ProgressBar
. Bất kỳ ý tưởng làm thế nào tôi có thể giải quyết điều này?
Oooh. Nắm bắt tốt. – Svish