Окно не максимизируется / выводится на передний план после нахождения в трее, почему?/справка
Вопрос
Я написал приложение для сигнализации с некоторым сложным кодом, который мне не хочется разбирать прямо сейчас, чтобы использовать в качестве примера.У меня есть таймер, проверяющий каждые 10 или около того минут состояние онлайн, и при определенных условиях мое приложение предупреждает меня.В form_load я устанавливаю таймер на 10 минут, и когда он срабатывает и условие выполняется, я вызываю функцию с этим в ней.
{
this.WindowState = FormWindowState.Maximized;
this.TopMost = true;
this.Activate();
}
Когда я запускаю приложение, я обычно сворачиваю его и делаю все, что угодно.Сегодня я замечаю, что это не работает.В моем первоначальном тестировании я вызываю код после извлечения состояний и вызова функции form_load, которая всегда вызывала его, но теперь, когда я делаю другие вещи и окно было свернуто, я замечаю, что это не сработало.Как мне это исправить?
Решение
Вы скрываете форму?В этом случае попробуйте this.Show()
вместо этого.
Другие советы
Кроме того, form_load выполняется один раз (обычно).Вы хотите form_activated.Форма находится в памяти (загружена) независимо от того, свернута она или нет.
И включение вызова события activate в ваше событие form_load является избыточным.