0
在面板的Paint事件中,我有一個代碼,應該在2點之間畫一條藍線。c#面板線覆蓋
private void panel1_Paint(object sender, PaintEventArgs e)
{
panel1.AllowDrop = true;
listBox1.AllowDrop = true;
if (!s.IsEmpty && !f.IsEmpty)
{
e.Graphics.DrawLine(new Pen(Color.Blue, 5f), f, s);
s = Point.Empty;
f = Point.Empty;
}
}
林無效設定點方法的面板:
void setPoint(Point p)
{
if (f.IsEmpty)
f = p;
else
{
s = p;
panel1.Invalidate();
}
}
這是通過點擊按鈕觸發。 它會畫出一條線,但的問題是,即當一條線已經存在時。它會覆蓋它。我認爲問題在Invalidate
。但我不知道如何修復它,因爲Refresh()
或Update()
不起作用。
我在做什麼錯了?
好的,我已經完成了這個。現在一切正常。謝謝。 –