У меня есть приложение, которое может отображать окно с использованием формы. Форма отображается только в том случае, если приложение запускается с использованием флага -debug, иначе он отображается только в лотке.C# Закрывать процессы, минимизированные до лотка, изящным способом?
var form = new Form();
if(DebugMode)
form.Show();
Приложение слушает CloseMainWindow() при запуске в режиме отладки, так как форма показана. Как я могу заставить приложение также слушать CloseMainWindow(), не показывая его? Я не хочу, чтобы пользователь мог взаимодействовать с формой, если не в режиме отладки.
Я пробовал несколько подходов, например, отображать окно, но задавая размер 0. Это показывает небольшую форму, то есть не скрывает.
if (!DebugMode)
{
form.Show();
form.Size = new Size(0, 0);
}
Кроме того, показывая его, а затем скрываясь он не работает:
if (!DebugMode)
{
form.Show();
form.Hide();
}
Показаны его, но начал минимизированы и не показано на панели задач не работает, либо:
if (!DebugMode)
{
form.Show();
form.WindowState = FormWindowState.Minimized;
form.ShowInTaskbar = false;
}
Am Я пропустил что-то действительно очевидное здесь, или невозможно закрыть процессы, минимизированные до лотка, изящным образом?
Я не знаю, если это имеет значение, но в последнем примере я бы установить свойства перед отображением формы. – f2lollpll
Возможный дубликат [this.Visible не работает в Windows Forms] (http://stackoverflow.com/questions/3742709/this-visible-is-not-working-in-windows-forms) –