我有一个C#应用程序,有用户登录到该应用程序,并且由于哈希算法昂贵,因此需要花费一些时间。如何向用户显示“等待/忙碌光标”(通常是沙漏),以使他们知道程序正在执行操作?
该项目在C#中。
您可以使用Cursor.Current。
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;以确保沙漏实际上已显示。
Application.DoEvents();
Cursor.Current = Cursors.WaitCursor;