C#Application.DoEvents()
/// <summary>
/// 颜色变化反差形成视觉闪烁效果
/// </summary>
private void button1_Click(object sender, EventArgs e)
{
//Visible控件属性
while (Visible)
{
for (int rgb = 0; rgb < 254 && Visible; rgb++)
{
this.BackColor = Color.FromArgb(rgb, 255 - rgb, rgb);
/*
* 当运行 Windows 窗体时,它将创建新窗体,然后该窗体等待处理事件。
* 该窗体在每次处理事件时,均将处理与该事件关联的所有代码。
* 所有其他事件在队列中等待。在代码处理事件时,应用程序并不响应。
* 例如,当将另一窗口拖到该窗口前面时,该窗口不重新绘制。
* 如果在代码中调用 DoEvents,则您的应用程序可以处理其他事件。
*/
Application.DoEvents();
System.Threading.Thread.Sleep(5);
}
//第2次循环让色彩变换过度更平滑
for (int rgb = 254; rgb >= 0 && Visible; rgb--)
{
this.BackColor = Color.FromArgb(rgb, 255 - rgb, rgb);
Application.DoEvents();
System.Threading.Thread.Sleep(5);
}
}
}
posted on 2010-02-03 11:42 falla.zhang 阅读(7846) 评论(0) 编辑 收藏 举报