this.ShowInTaskbar = false;
this.WindowState = FormWindowState.Minimized;
//this.visible = false (Hotkeys stop working forever but the grey rest of the form would disappear from above taskbar)
ReRegisterHotkeys();
Я использую приведенный выше код, чтобы свести к минимуму мое приложение с иконкой в трее. Теперь свернутый остаток моей формы висит в левом правом углу немного над панелью задач, где находится кнопка запуска. Видимый - это только серые заголовки форм с маленьким «x», чтобы закрыть его и текст надписи над заголовком. Это очень странно. Я установил свою форму для «имитации» и не должен отображаться на панели задач, и это все равно. Я зарегистрировал Горячие клавиши с моей формой, поэтому я не могу установить ее на «невидимую», иначе горячие клавиши перестают работать, даже если я снова зарегистрирую горячие клавиши. Я еще не нашел альтернативы, чтобы удалить эту уменьшенную подпись в форме, отличную от «невидимого» , или удалить его заголовок, что я также не хочу делать. Мне нужна панель заголовка, значок заголовка и панель управления заголовком в этой программе, форма не должна становиться окном инструмента или без границ.Минимизация формы окон системы в лотке на C#, не видя, что она висит там, где находится панель задач
Как сделать этот серый остаток формы над панелью задач исчезающим, не меняя форму на окно инструмента и не устанавливая его полностью невидимым. Мои горячие клавиши должны работать после него, и форма должна сохранять заголовок, значок и область управления, когда я снова вернусь к ней.
Я взял код своей горячей клавиши из этого example. Единственное различие заключается в том, что я упаковал процедуру регистрации горячей клавиши в подфункцию с именем «ReRegisterHotkeys()».
Важно: Проблема с заголовком, показывающим, когда форма сведена к минимуму, не связана с зарегистрированными горячими клавишами. Это обычная проблема «C#». Если у меня есть форма и свести ее к минимуму и установить ее на невидимой панели задач , она все равно отображает заголовок с символом «x» на панели задач. Это я хочу удалить, не делая форму невидимой или не удаляя стиль окна. «this.show» или «this.hide» ведет себя так же фатально, как «this.visible = true/false», так как горячие клавиши исчезли. Я создаю свою форму, как показано по умолчанию, и не хочу, чтобы она уже была скрыта.
Это то, что не должно быть там - как удалить его, не повреждая:
Очевидно, что это XY вопрос. Переопределите метод OnHandleCreated() в вашем классе формы и установите на нем точку останова. Он должен ударить только один раз при запуске. Если он сломается после этого, загляните в стек вызовов, чтобы найти оператор в коде, который заново заработал окно. В противном случае это также метод, в котором вам необходимо зарегистрировать ключи. –