這段代碼在不同的委託中工作得很好,但當它被一個按鈕觸發時,它不起作用。 「Draw_Click」是一個名爲「Draw」的按鈕,它應該根據預先製作的點陣在屏幕上繪製圖形。按下按鈕觸發時無法使DrawLine工作。
private void Draw_Click(object sender, EventArgs e)
{
Graphics myInstance = this.CreateGraphics();
for (int t = 0; t <= numberOfPoints - 1; t++)
{
myInstance.DrawLine(pen, spiroArray[0, t], spiroArray[1, t], spiroArray[0, t + 1], spiroArray[1, t + 1]);
}
}
但是,當我在這個類中有相同的代碼,它工作正常(減去myInstance線)。
private void Form1_Paint(object sender, PaintEventArgs e)
{
}
我用「e」而不是「myInstance」來使這個問題儘可能簡短。
基本上,Form1_Paint有什麼特別之處?我不應該讓它在特殊的Form1Paint類之外繪製一些東西嗎?如果我使用Form1_Paint,則無法控制它在何時執行繪圖。基本上,我想有它更新圖形用戶更改參數等
的錯誤是「錯誤1名‘的DrawLine’在目前情況下不存在」
感謝您的幫助。
它與'this'說明符有關;它可能指的是函數中錯誤的上下文。嘗試使用其實際全名識別對象。 –
@Jung-Paul在Winforms中使用'this'是很常見的,它指的是引發'Click()'事件的形式。 – DrewJordan
@DrewJordan:好的,不知道。謝謝。 –