一尘不染

如何使光标转向等待光标?

c#

我有一个C#应用程序,有用户登录到该应用程序,并且由于哈希算法昂贵,因此需要花费一些时间。如何向用户显示“等待/忙碌光标”(通常是沙漏),以使他们知道程序正在执行操作?

该项目在C#中。


阅读 232

收藏
2020-05-19

共1个答案

一尘不染

您可以使用Cursor.Current

// Set cursor as hourglass
Cursor.Current = Cursors.WaitCursor;

// Execute your time-intensive hashing code here...

// Set cursor as default arrow
Cursor.Current = Cursors.Default;

但是,如果散列操作 确实很
漫长(MSDN将其定义为超过2-7秒),则可能应使用光标以外的视觉反馈指示器来向用户通知进度。有关更深入的指导原则,请参阅本文

编辑:
正如@Am指出的那样,您可能需要在Application.DoEvents();之后致电Cursor.Current = Cursors.WaitCursor;以确保沙漏实际上已显示。

2020-05-19