सोच रहा था कि ProgressBar
बनाने के लिए यह बहुत आसान होना चाहिए जिसने स्वयं कुछ टेक्स्ट खींचा है। हालांकि, मैं काफी यकीन है कि यहाँ क्या हो रहा है नहीं कर रहा हूँ ...सी #: प्रोग्रेसबार पर ऑनपेंट ओवरराइडिंग काम नहीं कर रहा है?
मैं निम्नलिखित दो ओवरराइड कहा:
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);
}
हालांकि, मैं कोई पाठ मिलता है, और तरीकों भी कहा जा प्रतीत नहीं होता है । यहाँ क्या हो रहा है?
अद्यतन: दो जवाब के लिए धन्यवाद अब तक, मैं यह मिल गया है वास्तव में का उपयोग करके OnPaint
कॉल करने के लिए, और मैं इसे बजाय new Rectangle(0, 0, Width, Height)
में भेज कर सही जगह में पाठ आकर्षित करने के लिए मिल गया है Bounds
का।
मुझे अब टेक्स्ट मिल गया है, लेकिन ProgressBar
चला गया है ... और बिंदु ProgressBar
के शीर्ष पर टेक्स्ट होना था। कोई विचार है कि मैं इसे कैसे हल कर सकता हूं?
ओह। अच्छी पकड़। – Svish