Я сделал крошечную многоразовую модальную форму, в которой есть ярлык (для сообщения «Подождите») и работника фона. (Мы назовем это WaitForm) Форма предназначена для повторного использования в приложении.Сменить курсор, чтобы ждать курсора для всего приложения
Когда срабатывает «Загрузка», он вызывает событие DoWork на рабочем столе (которое делегировано, чтобы любой код, вызывающий эту форму, мог выполнять свою собственную операцию).
Пока он работает, я хочу, чтобы все формы отображали курсор ожидания. Поскольку эта форма является модальной, курсор ожидания будет отображаться только тогда, когда пользователь зависает над WaitForm. Если вы переместите указатель мыши и наведите указатель мыши на родительскую форму, курсор изменится на стрелку по умолчанию.
Я попытался следующие, как индивидуально, так и в комбинации с другими:
Application.UseWaitCursor = true;
this.Cursor = Cursors.WaitCursor;
this.Cursor.Current = Cursors.WaitCursor;
_Parent.Cursor = Cursors.WaitCursor; //I tried to pass the calling parent form as a parameter in the constructor of the "WaitForm" so that I can set its cursor.
WaitForm работает как задумано. Он отображает и запускает фонаря. Единственное, что заставляет меня перемалывать мои зубы, - это курсор. Мне что-то не хватает?
Заранее спасибо.
Один из способов будет '' Список
Это не сработает. Проблема заключается в том, что окно является модальным. Все курсоры устанавливаются правильно с помощью Application.UseWaitCursor. Кажется, это просто поведение окон с модальными формами. – Emilie217
И пункт использования фонового работника - освободить пользовательский интерфейс, независимо от того, хотите ли вы, чтобы пользователь мог делать другие вещи.Я не хочу, чтобы остальная часть пользовательского интерфейса была заморожена, даже если пользователь ничего не может с этим поделать. Это было бы просто странно. – Emilie217