#c# #winforms #notifyicon
#c# #winforms #notifyicon
Вопрос:
В настоящее время я разрабатываю приложение Windows form на c #, которое имеет несколько форм.
Я запускаю фоновую форму, которая управляет свойством notifyicon, позволяющим отображать значок на панели задач.
Когда я запускаю программу, она запускает LoginForm, после чего, войдя в систему, она перейдет в основную форму. После закрытия основной формы приложение еще не закрывается, что в данном случае работает как Windows Live Messenger.
Как мне создать свою программу таким образом, чтобы после того, как я открою основную форму, двойным щелчком мыши она вернет форму обратно? (Например, как работает MSN.)
Или это лучшее решение для меня, чтобы закрыть все приложение, когда я нажимаю кнопку X в строке заголовка. Что вызывает у меня еще одну проблему, поскольку я, похоже, не могу выйти из приложения, когда закрываю другие формы, отличные от основной формы.
Комментарии:
1. Вы не можете открыть закрытую форму, которая завершается с ошибкой ObjectDisposedException . Создайте новую. Я должен догадаться, что ваша (скрытая) форма входа поддерживает работу приложения. Непонятно.
Ответ №1:
Вероятно, у вас есть NotifyIcon в вашей основной форме. Подпишитесь на DoubleClick
событие этого элемента управления и измените состояние вашей основной формы в обработчике:
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
this.Show();
this.Visible = true;
this.WindowState = FormWindowState.Normal;
}
Ответ №2:
Просто установите Visible
для свойства формы значение true
/ false
. Или вы могли бы вызвать Show()
/ Hide()
.