Невозможно переключить задачу для приложения Windows Form
Я новичок в Visual Studio и C#. Только что закончил приложение Windows Form, но обнаружил следующие ошибки. Программа умирает (показывая Не отвечает) всякий раз, когда пользователь сворачивает / восстанавливает его или переключается на другую задачу. Эта ошибка предотвращает многозадачность пользователя при запуске этой программы, поэтому я действительно хочу исправить, если. Интересно, каковы возможные причины проблемы и как их вообще решить. Буду очень признателен за любое предложение. Спасибо!
2 ответа
Если я не ошибаюсь, у вас проблема с зависанием пользовательского интерфейса. если так, то почему бы вам не использовать C# BackgroundWorker. это поможет вам предотвратить зависание оконной формы, если вы делаете длинную задачу. Вы можете найти хороший учебник http://www.dotnetperls.com/backgroundworker здесь. Надеюсь, это поможет.
Это может быть что угодно, когда у вас есть длительный цикл или длительная операция в вашем Form
, Тот факт, что вы видите "не отвечающие" только при сворачивании и восстановлении, возможно, связан с тем, что вы заставили окно перерисовать и заставили Windows признать, что приложение зависло и использовать окно-призрак. Вероятно, окно было уже повешено до того, как вы свернули и восстановили его. Вы можете убедиться в этом, попытавшись переместить окно. Если он не двигается, он повешен. Если он перемещается, попробуйте переместить строку заголовка за пределы экрана и назад (например, нажмите в середине строки заголовка и перетащите ее вправо до упора и отпустите кнопку, затем сделайте то же самое и верните ее на экран).).