我正在用C#编写一个屏幕保护程序,慢慢地绘制Sierpinski三角形。我在递归函数内部使用
Thread.Sleep
来减缓绘图速度。但是我需要一种方式让用户通过移动鼠标、按键等方式退出程序。由于我的绘图函数是从表单的Paint
事件处理程序中调用的,所以鼠标和键盘事件仅在整个三角形绘制完成后才会被处理,这可能需要相当长的时间。如何在递归函数运行时强制表单处理事件?(如何避免调用绘画事件引起无限循环,即调用绘画函数强制事件处理,然后再调用绘画事件等等?)