.NET: Windows Forms + Консоль / Запретить закрытие - PullRequest
2 голосов
/ 25 декабря 2009

У меня есть приложение Windows Forms, которое открывает консоль с помощью AllocConsole. Он работает нормально, но проблема в том, что когда я закрываю консоль, нажимая кнопку «X», тоже закрывается все приложение, но я хочу, чтобы закрывалось только окно консоли и приложение продолжало работать как обычно. Есть ли способ сделать это?

1 Ответ

2 голосов
/ 25 декабря 2009

Есть способ программно скрыть выделенное окно - используйте FreeConsole.

Кнопка X на консоли alloc'd работает как кнопка X на вашей WinForm - она ​​будет вызывать событие Form_Closing (), я полагаю.

Вам потребуется некоторая логика в этом обработчике событий, чтобы решить, действительно ли закрыть форму или нет.Одна из возможностей: захватить положение мыши и посмотреть, находится ли оно внутри ограничительной рамки для формы.Если это так, то решите, что щелкнул X формы, и закройте приложение.Если мышь НЕ находится внутри формы, то решите, что консоль X была нажата, и вызовите FreeConsole.

Я не пробовал это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...