如何为用户显示和隐藏“请稍候”消息

时间:2010-11-18 14:38:30

标签: c# winforms messagebox

我有一段代码在GUI线程上执行了一段时间(为了简化,我们假设在Button_Click事件中)。

当方法开始时,我想显示一条消息“请稍候”,然后继续工作。工作完成后,我将隐藏信息并继续。

我知道我可以用BackgroundWorker(或任何其他线程相关的)来做到这一点,但我希望已经完成了类似的事情:

MBox.Show("Please wait...");
//do my work...
MBox.Hide();

3 个答案:

答案 0 :(得分:3)

如果你有一个长时间运行的进程,你不应该在UI线程中这样做。 BackgoundWorker有什么问题?那班很棒!如果这是一个WinForms应用程序,我建议您使用它。

答案 1 :(得分:1)

如果您使用.Net 4,则可以运行Task与后台工作程序一起工作,否则您可以执行线程,但它们不应该在同一个线程中。

答案 2 :(得分:0)

您可以创建自己的表单来执行此操作。如果用户期望等待或需要等待,那么让用户等待就没有任何本质上的恶意。我们有正常工作流程需要短暂等待的应用程序。将它放在后台线程中对用户没有帮助,因为他们仍然需要等待操作完成才能完成任何其他操作。