2010-03-25 17 views

cevap

18

Cursor.WaitCursor özelliğini kullanın.

Cursor.Current = Cursors.WaitCursor; 

ve sürece orada bir WinForms uygulamada oluyor bazı işleme, imleç WaitCursor durumda kalır:

kullanabilirsiniz.

Siz de özel tasarlanmış imleçlerini kullanabilirsiniz:

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

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

+2

daha güvenilirdir 'UseWaitCursor' özelliği tamamlandıktan sonra Application.DoEvents() Application.UseWaitCursor ayarlandıktan sonra yöntemi için, aksi takdirde değiştirilebilir. – SLaks

+0

'UseWaitCursor' özelliği henüz daha güvenilir değil. UI iş parçacığını anlık olarak engelleyen görevler için, görev tamamlandıktan ve denetimi Windows'a döndürdükten sonra, imleç değişmeyecektir. –

1
Cursor.Current = Cursors.WaitCursor; 

Sen imleci değiştirmek için System.Windows.Forms bir başvuru gerekir.

8

Formun UseWaitCursor özelliğini true olarak ayarlamanız gerekir. Ayrıca her tür uygulamak için true için Application.UseWaitCursor ayarlayabilirsiniz

(Ve tercihen finally bloğunda, yeniden afterwords false olarak ayarlayın unutmayın).

2

Ben SLaks için bir yorumun cevap olarak benim cevap eklemek için bir seçeneğin yoktu, bu yüzden bir cevap seferde imleci beklemek imleci ayarlamak için uygulamayı zorlamak amacıyla

olarak yayınlamayın, aramak zorunda uzun bir süreç

Application.UseWaitCursor=true; 
    Application.DoEvents(); 
İlgili konular