«Опасность» заключается в невозможности восстановления курсора.
Вы можете сделать это с блоками try…finally
, чтобы гарантировать, что даже если возникнет исключение, вы восстановите курсор или немного очистите синтаксисоборачивая эту функциональность в класс, который реализует IDisposable
, чтобы вы могли использовать вместо него using
блоки.
public class WaitCursor : IDisposable
{
public WaitCursor()
{
Application.UseWaitCursor = true;
}
public void Dispose()
{
Application.UseWaitCursor = false;
}
}
Использование:
using (new WaitCursor())
{
// do stuff - busy, busy, busy
} // here the cursor will be restored no matter what happened