如何向用户显示等待/忙碌光标(通常是沙漏),让他们知道程序正在做某事?
您可以使用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;