문제

This question already has an answer here:

I have an application that takes a couple of seconds to run. Is it possible to make the mouse with the busy icon while the app is processing?

도움이 되었습니까?

해결책

Use Cursor.WaitCursor property.

You can use:

Cursor.Current = Cursors.WaitCursor;

and as long as there is some processing going on in a WinForms application, the cursor stays in the WaitCursor state.

You can as well use your custom designed cursors:

Cursor.Current = new Cursor("C:\\Cursors\\MyWait.cur");

source: http://bytes.com/topic/c-sharp/answers/238623-how-change-mouse-cursor-busy-state

다른 팁

You need to set the form's UseWaitCursor property to true. (And remember to set it to false again afterwords, preferably in a finally block)

You can also set Application.UseWaitCursor to true to apply it to every form.

I have no option to add my answer as a comment to SLaks answer, so i post it as an answer

In order to force application to set cursor to wait cursor at once, you have to call for Application.DoEvents() method after setting Application.UseWaitCursor, otherwise it might be changed after the lengthy process has been completed

    Application.UseWaitCursor=true;
    Application.DoEvents();
Cursor.Current = Cursors.WaitCursor;

You will need a reference to System.Windows.Forms to change the cursor.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top