के लिए काम नहीं कर रहा है मैंने एक विंडोज़ फॉर्म उपयोगकर्ता नियंत्रण बनाया है, मैं खींचता हूं, इसके अंदर एक पैनल गिरा दिया और पैनल पर मैंने पैनल के पेंट इवेंट में ग्राफ खींचा।पैनल नियंत्रण पेंट इवेंट उपयोगकर्ता नियंत्रण
private void pnlViewer_Paint(object sender, PaintEventArgs e)
{
e.Graphics.TranslateTransform(pnlViewer.AutoScrollPosition.X, pnlViewer.AutoScrollPosition.Y);
e.Graphics.FillRectangle(Brushes.Black, Screen.PrimaryScreen.Bounds);
//**draw Y Axis**
int y;
for (int i = 0; i <= 50; i++)
{
y = (i * cellHeight) + cellHeight;
e.Graphics.DrawLine(new Pen(Color.FromArgb(50, 50, 50)),
new Point(0, y), new Point(pageWidth, y));
}
//**draw X Axis**
int x;
for (int i = 0; i < 50; i++)
{
x = (i * cellWidth) + ribbonWidth;
e.Graphics.DrawLine(new Pen(Color.FromArgb(50, 50, 50)),
new Point(x, 0), new Point(x, pageHeight));
}
DrawWaveForm(e.Graphics); **// Here the actual data of graph will draw**
}
जब मैं एक WinForm पर उपयोगकर्ता नियंत्रण इस खींचें, यह विंडोज़ रूप से उपयोगकर्ता नियंत्रण के इस रंग घटना कहता है, लेकिन इस इवेंट से बुला ग्राफ दिखाया गया है, लेकिन कुछ समय के बाद ग्राफ खाली हो जाता है।
मैंने Invalidate(true), Update(), Refresh()
इस तरह की सभी विधियों का प्रयास किया लेकिन उनका कोई उपयोग नहीं था।
असल में यह आकृति के आधे ग्राफ को दिखाता है और उसके बाद उसी पेंट इवेंट को निकाल दिया जाता है, तो यह मुझे पूरा ग्राफ दिखाता है, लेकिन वास्तव में मैं पूर्ण ग्राफ दिखाते हुए आधा ग्राफ के बजाय पहले पेंट इवेंट पर चाहता हूं।
कैसे आप() 'एक' Graphics' वस्तु गुजर बिना 'DrawWaveForm में आकर्षित करते हैं? – Andy
@Andy क्षमा करें, मैं इसे अपनी मूर्खतापूर्ण गलती दिखाने के लिए धन्यवाद जोड़ना भूल गया हूं, कोड को फिर से अपडेट करें ........ –
क्या यह गलती को सही करके हल किया गया है? –