Не удается восстановить приложение, когда я его минимизирую - PullRequest
0 голосов
/ 18 июня 2011

Я написал настольное приложение на C # и, когда оно ждет определенного события (в цикле, подобном следующему ...

while (tf.Exists)
{
    System.Threading.Thread.Sleep(100);
    System.Windows.Forms.Application.DoEvents();
}

, я могу взаимодействовать с моим приложением и минимизировать его, ноЯ не могу заставить его восстановиться. Иногда я могу восстановить его, яростно нажимая кнопки мыши, бормотая проклятия под моим дыханием, но по большей части это не восстанавливает. Кто-нибудь знает, что я делаю неправильно в своей петле?

Спасибо,

Грег

Ответы [ 2 ]

2 голосов
/ 18 июня 2011

Это невозможно воспроизвести, не зная, как этот код был запущен.В любом случае, вы никогда не захотите делать это так, это позволяет пользователю закрыть ваше главное окно.Теперь ваш цикл все еще работает, но без пользовательского интерфейса.

Вместо этого используйте таймер.Выполните проверку в обработчике для его события Tick.

1 голос
/ 18 июня 2011

Вместо того, чтобы опрашивать и звонить DoEvents, что редко является эффективным подходом, организуйте для интересующего вас события отправку вам сообщения или запуск события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...