Windows窗体GUI卡住了

时间:2010-09-29 09:36:30

标签: c# windows multithreading user-interface

假设您正在为旧的正在运行的Windows窗体应用程序添加一个功能,现在整个应用程序在一个线程中运行,而且应用程序非常庞大并且有很多表单,因此您无法将其折射为在多线程中运行,现在应用程序gui冻结每次你做一个过程,有没有办法有一个指示,它的加载或进行中冻结?没有改变整个软件设计来支持线程等?

顺便说一句,我不希望它停止冻结它的确定冻结我只是想让它表明它做了什么!

任何想法都会受到赞赏,谢谢...

2 个答案:

答案 0 :(得分:1)

如果应用程序是使用.net 2.0或更高版本编写的,请参阅BackGroundWorker组件。

答案 1 :(得分:1)

您可以在开始长时间运行操作后将表单的Cursor属性设置为Cursors.WaitCursor,并在完成后将其重置为Cursors.Default。当您的操作执行时,您可以调用Application.DoEvents(),但如果其他事件同时触发,则可能会导致副作用。

相关问题