【发布时间】:2022-01-14 01:22:40
【问题描述】:
我的计时器有问题。 我在函数中有函数(在函数中绘制)
void func(){
/*...do something ... */
for(){
for() {
/*loop*/
draw(A,B, Pen);
}
/*... do something ...*/
}
}
这是绘图功能
public void draw1(Point Poc, Point Kra, Pen o) {
Graphics g = this.CreateGraphics();
g.DrawLine(o,Poc.X+4, Poc.Y+4,Kra.X+4, Kra.Y+4);
g.Dispose();
}
我在按钮点击时调用函数'func'
private void button4_Click(object sender, EventArgs e){
func();
}
我想每秒钟调用一次绘图函数(每秒画一条线)。 在绘图之间,函数需要继续工作并计算=循环,并绘制下一行一段时间(间隔)。我试过了
timer1.Tick += new EventHandler(timer1_Tick);
等等。
private void timer1_Tick(object sender, EventArgs e)
{
...
draw(A, B, Pen)
}
等等。
但这一切都会停止我的功能,并随机画一条线。 我只想要函数'func'中两个绘图之间的时间(间隔)。没有计时器可以正常工作,但立即绘制所有线条,我需要缓慢绘制。 干杯。
【问题讨论】:
-
你的计时器滴答方法应该有
draw(A,B, Pen);而不是draw1() -
定时器开启了吗?还要在函数 Draw1() 中添加参数
-
参数没问题。定时器已启用。