Bir Windows Forms Kullanıcı Denetimi oluşturdum, bir panelin içine sürükleyip bıraktım, panelin üzerine Panel'in Paint olayı çizdim. Panel Denetimi Boya Olayı Kullanıcı Denetimi için çalışmıyor
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**
}
Bir WinForm üzerine kullanıcının kontrolünü sürükleyip
, bu pencere formundan Kullanıcı Kontrol bu boya olayı çağırır ancak bu olaya çağrısında grafiği gösterilmektedir ancak bir süre sonra grafik boş olur.Invalidate(true), Update(), Refresh()
tüm bu yöntemleri denedim, ancak hiçbir işe yaramadı.
Aslında, grafiğin formun yarısı üzerinde olduğunu ve sonraki boya olayının tetiklendikten sonra tam ihtiyacım olan grafiği göstermesine karşın, aslında tam grafiği gösteren yarım grafik yerine ilk Paint olayını istiyorum.
:
her zaman bu başarısızlık modu önlemek için boyama kodunda kullanılarak deyimi kullanılır? – Andy
@Andy özür dilerim, benim de aptal hatayı göstermem için teşekkürlerimi ekledim. Teşekkürler …… –
Bu hatayı düzelterek şimdi çözüldü mü? –