每秒运行VisualC#我有函数内函数(函数内绘制)voidfunc(){/*...dosomething...*/for(){for(){/*loop*/draw(A,B,Pen);}/*...dosomething...*/}}这是绘图函数publicvoiddraw1(PointPoc,PointKra,Peno){Graphicsg=this.CreateGraphics();g.DrawLine(o,Poc.X+4,Poc.Y+4,Kra.X+4,Kra.Y+4);g.处置();我在单击按钮时调用函数“func”privatevoidbutton4_Click(objectsender,EventArgse){func();我想每秒钟调用绘图函数(每秒画一条线)。在绘图之间,该函数需要继续工作并计算=循环,并绘制下一行一段时间(间隔)。我试过timer1.Tick+=newEventHandler(timer1_Tick);等..privatevoidtimer1_Tick(objectsender,EventArgse){...draw(A,B,Pen)}等..但所有这些都会阻止我的功能,并绘制一条随机线。我只想要函数“func”中两个图形之间的时间(间隔)。没有计时器它工作正常,但一次绘制所有线条,我需要慢速绘制。干杯。我不完全确定你要做什么,但一般来说,你可以使用Timer类的对象来指定代码以指定的时间间隔执行。代码如下所示:TimermyTimer=newTimer();myTimer.Elapsed+=newElapsedEventHandler(DisplayTimeEvent);myTimer.Interval=1000;//1000毫秒是一秒myTimer.Start();publicstaticvoidDisplayTimeEvent(objectsource,ElapsedEventArgse){//这里的代码将每秒运行一次}试试这个varaTimer=newSystem.Timers.Timer(1000);aTimer.Elapsed+=newElapsedEventHandler(OnTimedEvent);aTimer.Interval=1000;一个定时器。启用=真;//如果你的代码没有全局注册定时器然后取消注释下面的代码//GC.KeepAlive(aTimer);privatevoidOnTimedEvent(objectsource,ElapsedEventArgse){draw(A,B,Pen);您不需要在WinForms应用程序中绘制,您可以响应更新或绘制消息。在窗体的Paint事件中执行您想执行的操作(或覆盖OnPaint方法)。如果要重新绘制表单,请使用Form.Invalidate。比如在timertick中调用Form.Invalidate...已经解决了希望大家多多关注——System.Threading.Thread.Sleep(700);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
