سؤال

هذا السؤال لديه بالفعل إجابة هنا:

لدي تطبيق يستغرق تشغيل بضع ثوانٍ. هل من الممكن جعل الماوس مع الرمز المزدحم أثناء المعالجة؟

هل كانت مفيدة؟

المحلول

يستخدم المؤشر منشأه.

يمكنك استخدام:

Cursor.Current = Cursors.WaitCursor;

وطالما أن هناك بعض المعالجة تحدث في أ WinFormsالتطبيق ، يبقى المؤشر في WaitCursor دولة.

يمكنك أيضًا استخدام المؤشرات المصممة المخصصة:

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

مصدر: http://bytes.com/topic/c-harp/answers/238623-how-change-mouse-cursor-busy-state

نصائح أخرى

تحتاج إلى ضبط النموذج UseWaitCursor خاصية ل true. (وتذكر أن ضبطها على false مرة أخرى بعد ذلك ، يفضل في أ finally منع)

يمكنك أيضا ضبط Application.UseWaitCursor ل true لتطبيقه على كل شكل.

ليس لدي خيار لإضافة إجابتي كتعليق على إجابة Slaks ، لذلك أقوم بنشرها كإجابة

من أجل إجبار التطبيق على تعيين المؤشر لانتظار المؤشر في وقت واحد ، يجب عليك الاتصال بـ Application.doevents () بعد تعيين Application.usewaitcursor ، وإلا فقد يتم تغييره بعد اكتمال العملية الطويلة

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

ستحتاج إلى إشارة إلى system.windows.forms لتغيير المؤشر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top