现在有一个按钮,按下去以后会界面出现一种效果(具体什么效果没多大关系),然后过几秒时间后(此过程没有任何操作)界面会出现另外一个效果,再过几秒又恢复前一种效果,一直这样循环下去,直到按了另一个按钮,结束此循环,想问一下,用定时器如何实现(ps:按钮后出现的效果是mousedown里的事件)C#GDI+界面定时器

解决方案 »

  1.   

    效果在OnPaint中绘制,做个标记
    if (flag==xxx) 
    {
    绘制效果1
    }
    else if (flag==xxx)
    {
    效果2
    }定时器中,定时改变flag,然后调用绘图对象的invalidate触发Onpaint
      

  2.   

    定时器不会用,可以在mousedown里创建一个画刷 Graphics g = this.CreateGraphics();,然后在mousedown里做标记吗?
    if (flag==xxx) 
    {
    绘制效果1
    }
    else if (flag==xxx)
    {
    效果2
    }定时器是按了按钮在触发的吗?重绘的话会覆盖掉其他一些效果的。