У меня есть форма, которая отображает анимацию загрузки, когда BackgroundWorker выполняет работу, и закрывается, когда работа завершена.Я показываю его с помощью следующего кода:
using (BackgroundWorker bw = new BackgroundWorker())
using (LoadingPopup loadingPopup = new LoadingPopup(bw))
{
bw.DoWork += delegate
{
DoMyWork();
};
loadingPopup.ShowDialog(this);
}
Моя форма LoadingPopup запускает фоновый рабочий в OnShown, а когда фоновый рабочий завершает работу, он закрывается сам.
Я хочу, чтобы отображался WaitCursorесли пользователь наводит указатель мыши на какую-либо часть родительской или дочерней формы.
Я пытался добавить код к событию LoadingPopup OnShown, чтобы установить Parent.Cursor, Owner.Cursor, this.Cursor и Cursor.Current to WaitCursor, затем установите их обратно в Cursor.Default в событии OnClosed.Но когда я наводю курсор мыши на родительскую форму, я всегда получаю курсор по умолчанию.
Любой способ заставить этот курсор или даже установить курсор в приложении?
РЕДАКТИРОВАТЬ: я также пытался вставитьперейдите к курсору до и после строки кода ShowDialog в родительском элементе.Это все еще не работало.Я бы предпочел, чтобы LoadingPopup управлял курсором в любом случае для повторного использования.
Я также пытался установить для свойства UseWaitCursor значение true как в дочерней, так и в родительской формах, и он имел одинаковый результат.