У меня есть приложение Windows Forms, которое открывает консоль с использованием AllocConsole. Он работает нормально, но проблема заключается в том, что когда я закрываю консоль, нажав кнопку «X», все приложение тоже выходит, но я хочу, чтобы только окно консоли закрывалось, и приложение должно продолжаться, как обычно. Есть ли способ сделать это?.NET: Windows Forms + Console/Prevent closed
2
A
ответ
2
Существует способ программного скрыть выделенное вами окно - использовать FreeConsole.
Кнопка X на консоли alloc'd работает как кнопка X на вашем WinForm - она будет щекотать событие Form_Closing(), которое я предполагаю.
Вам понадобится некоторая логика в этом обработчике событий, чтобы решить, действительно ли закрыть форму или нет. Одна возможность: захватить позицию мыши и посмотреть, находится ли она в ограничивающей рамке для Формы. Если это так, то сделайте вывод, что нажата кнопка X формы, и закройте приложение. Если мышь НЕ находится в форме, тогда сделайте вывод, что нажата консоль X, и вызовите FreeConsole.
Я еще не пробовал.
Смежные вопросы
- 1. .NET Windows Forms Transparent Control
- 2. Windows Forms Autosizing in .NET
- 3. protobuf-net closed tcpclient
- 4. TreeView custom DrawNode .NET 3.5 Windows Forms
- 5. C# .net локальная база данных Windows Forms
- 6. .Net Windows Forms ListView OwnerDraw LargeImageList leak
- 7. .NET Windows Forms - перехват события Close X
- 8. Лучшие приложения ORM для .NET Windows Forms?
- 9. . Правила времени разработки .NET Windows Forms
- 10. Проблема с развертыванием Windows Forms C# .net
- 11. Тестирование приложения .NET Windows Forms (VB)
- 12. .NET Windows Forms - событие Click on DateTimePicker
- 13. Скелет браузера Windows Forms (C# /. NET)
- 14. .NET Windows Forms - несколько строк подключения
- 15. Вращение панели .NET в Windows Forms
- 16. Стандартная версия Windows Forms Проект .NET Core
- 17. Better TreeView для Windows Forms - .NET 3.5
- 18. Стратегия развертывания приложения .net windows forms
- 19. Каков правильный метод проверки .NET Windows Forms?
- 20. .net windows forms & picking Vista шрифты
- 21. . NET CF Windows Forms - 3 кнопка состояния
- 22. Локализация Windows Forms с .NET 3.5
- 23. Безопасность потоков DataGridViewRow в Windows Forms .NET
- 24. Обтекание msctls_hotkey32 в .NET Windows Forms
- 25. Перенос приложения C# .NET из Windows в OSX (Windows Forms)
- 26. Подсветка этикеток Windows Forms
- 27. Узлы в Windows Forms
- 28. Развертывание Windows Forms
- 29. WPF - Windows Forms Interoperation
- 30. Проблема видимости Windows Forms
Не работает. Событие Form_Closing не запускается консольным окном. Я также пробовал событие Application.ApplicationExit, но это событие невозможно отменить. – raphaelr
Что вы действительно хотите делать, во всяком случае? Консоль, которую можно открыть таким образом, довольно рудиментарна, я всегда думал, что она в основном полезна для диагностики или отладки. Это действительно то, что вы хотите открыть в пользовательском интерфейсе вашего приложения? – Cheeso