У меня есть приложение winforms, в котором я заставляю его скрывать в меню в трее при нажатии кнопки закрытия. Я использовал здесь trayicon и notifyicon. Ниже приведен код
Для сворачивания в системный трей
public void MinimizeToTray()
{
try
{
this.WindowState = FormWindowState.Minimized;
TrayIcon.Visible = true;
TrayIcon.ShowBalloonTip(1000);
ShowInTaskbar = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//Load the tray menu
private void LoadTrayMenu()
{
TrayMenu.Items.Add("Exit");
TrayMenu.Items[0].Click += new System.EventHandler(this.Dispose_Click);
TrayIcon.ContextMenuStrip = TrayMenu;
}
//Close the application
private void Dispose_Click(object Sender, EventArgs e)
{
TrayIcon.Visible = false;
TrayIcon.Icon = null;
Application.Exit();
}
Вышеупомянутая часть отлично работает для меня, то есть я могу свернуть приложение в меню в трее, затем изменить размер до исходной формы и закрыть его. Но когда приложение сворачивается на панель задач, если в это время я нажимаю All-Tab, я могу просмотреть приложение. С помощью которого приложение может быть возвращено к исходной форме, вместо того, чтобы нажимать на панели задач.
Я просмотрел эти примеры
Как свернуть приложение WinForms до уведомления площадь?
Лучший способ скрыть окно от Переключатель программ Alt-Tab?
Но ни один из них не показывает, как скрыть приложение от переключателя Alt-Tab, когда приложение находится в системном трее.
Я в порядке, если приложение доступно для просмотра в переключателе Alt-Tab, когда приложение не находится в системном трее.
Любая помощь будет оценена
_
в окне. Вместо этого используйтеHide()
иShow()
. - person Thomas Weller   schedule 28.02.2014