使WinForm更改背景颜色,同时仍然可用

时间:2011-01-25 17:03:28

标签: c# winforms multithreading background-color

我需要制作一个闪存的WinForm以提醒用户,我想通过将背景颜色从默认值更改为红色来实现此目的,并且每秒钟再次返回5秒钟。在这5秒钟内,我希望能够使用该表单,这让我觉得我应该将闪存代码放在不同的线程中,但是,我相信我会遇到问题因为闪存代码会尝试修改表单,这是在不同的线程上创建的。

实现创建闪烁WinForm的目标的最佳方法是什么?

谢谢!

3 个答案:

答案 0 :(得分:4)

您需要使用System.Windows.Forms.Timer

答案 1 :(得分:1)

如何使用计时器并在事件处理程序中更改表单的背景颜色?

答案 2 :(得分:1)

如果要从另一个线程修改WinForm,可以使用表单的.Invoke()方法。此方法允许另一个线程调用表单线程中的方法的执行。

Se示例文档: MSDN: Control.Invoke