这段代码在不同的委托中工作得很好,但当它被一个按钮触发时,它不起作用。 “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:好的,不知道。谢谢。 –