Сделать мышь со значком "занято" (C #)

У меня есть приложение, которое запускается за пару секунд. Можно ли сделать мышь со значком «занято» во время обработки приложения?


person mouthpiec    schedule 25.03.2010    source источник


Ответы (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

person XpiritO    schedule 25.03.2010
comment
Свойство UseWaitCursor более надежно. - person SLaks; 25.03.2010
comment
Свойство UseWaitCursor ничуть не надежнее. Для задач, которые на мгновение блокируют поток пользовательского интерфейса, курсор не изменится до тех пор, пока задача не завершится и не вернет управление Windows. - person Jonathan Wood; 07.04.2014

Вам необходимо установить UseWaitCursor формы. свойство true. (И не забудьте снова установить false послесловие, желательно в блоке finally)

Вы также можете установить Application.UseWaitCursor на true применить его к каждой форме.

person SLaks    schedule 25.03.2010

У меня нет возможности добавить свой ответ в качестве комментария к ответу SLaks, поэтому я публикую его как ответ

Чтобы приложение сразу же установило курсор на ожидание курсора, вы должны вызвать метод Application.DoEvents () после установки Application.UseWaitCursor, в противном случае он может быть изменен после завершения длительного процесса

    Application.UseWaitCursor=true;
    Application.DoEvents();
person Prokurors    schedule 12.06.2013

Cursor.Current = Cursors.WaitCursor;

Для изменения курсора вам понадобится ссылка на System.Windows.Forms.

person Thibault Falise    schedule 25.03.2010