У меня есть приложение, которое запускается за пару секунд. Можно ли сделать мышь со значком «занято» во время обработки приложения?
Сделать мышь со значком "занято" (C #)
Ответы (4)
Используйте свойство Cursor.WaitCursor.
Вы можете использовать:
Cursor.Current = Cursors.WaitCursor;
и пока в приложении
WinForms
выполняется некоторая обработка, курсор остается в состоянииWaitCursor
.Вы также можете использовать свои специально разработанные курсоры:
Cursor.Current = new Cursor("C:\\Cursors\\MyWait.cur");
источник: http://bytes.com/topic/c-sharp/answers/238623-how-change-mouse-cursor-busy-state
UseWaitCursor
более надежно.
- person SLaks; 25.03.2010
UseWaitCursor
ничуть не надежнее. Для задач, которые на мгновение блокируют поток пользовательского интерфейса, курсор не изменится до тех пор, пока задача не завершится и не вернет управление Windows.
- person Jonathan Wood; 07.04.2014
Вам необходимо установить UseWaitCursor
формы. свойство true
. (И не забудьте снова установить false
послесловие, желательно в блоке finally
)
Вы также можете установить Application.UseWaitCursor
на true
применить его к каждой форме.
У меня нет возможности добавить свой ответ в качестве комментария к ответу SLaks, поэтому я публикую его как ответ
Чтобы приложение сразу же установило курсор на ожидание курсора, вы должны вызвать метод Application.DoEvents () после установки Application.UseWaitCursor, в противном случае он может быть изменен после завершения длительного процесса
Application.UseWaitCursor=true;
Application.DoEvents();
Cursor.Current = Cursors.WaitCursor;
Для изменения курсора вам понадобится ссылка на System.Windows.Forms.