Как в C# Windows Form вывести консоль внутри исполняемой программы?
В Visual C# есть консоль или по другому вывод. В ней делается вывод работы программы, запуск и тд.
Хочу вывести эту самую консоль в самой программе. Чобы после компиляции нажать на какуюто кнопку и открылось окно консоли в котором будет выводится вся работа программы.
И соответственно в течение работы выводить в ней с помощью Console.WriteLine();
Виктор Первушин: ну и почему именно нажал на кнопку? В моем варианте GUI никуда не денется, просто консоль будет с самого начала, но она не так уж и мешает.
Не, ну если хотите, можете cmd прикрутить, или с WinAPI мудохаться, или вообще сделать свою "консоль" из формы с TextBox. Оно надо?
Rou1997: Мне просто нужно все из программы выводить в консоль. К примеру куда было подключение. Длительность подключения после завершения и тд. Много чего можно вывести в консоль. Тот же лог.
Rou1997: Наверно я просто вас не понимаю. Ведь недавно начал работать с C# и вообще с Visual Studio. Поэтому без обид. Ну в принципе я могу сохранять все в файл и выводить в свою написанную консоль, но это лишняя морока. Мне проще через вывод который идет в консоль VS работать, то есть её и надо вывести ко мне в программу. Если я вас так понимаю та самая функция и включает такое? Или нет?
Rou1997: Ладно. Я изменил на консольное приложение. А можно как-то сделать фичю чтобы её можно было скрыть. А то не всегда удобно. Да и вообще по возможности я хотел встроить её в саму программу. Чтобы она внизу в качестве выдвижной панели была. Хотя это не особо важно. Главное сейчас сделать чтобы её скрыть.
Ну ладно. В принципе можно и создать класс отвечающюю за консоль и создать свою консоль.
Может ответите на вопрос выше, так для моего развития. Я вижу вы знающий чел =)
Виктор Первушин: нет, stdout (консольный вывод) из своей программы мне не приходилось никуда перенаправлять. Я бы из рассчета на такой случай просто сделал класс-обертку, и использовал его, а не System.Console непосредственно, чтобы всегда можно было за полминуты что-то изменить в этой обертке, и это сразу отразилось бы на всех ее вызовах. Так стоит делать всегда, когда используется консоль, логи и т.д.
Может быть, и сейчас вам просто написать обертку, и пройтись по всему коду, заменив Console.Write и Console.WriteLine на вызовы обертки?
Если код не отформатирован и простая замена не поможет, то, может, поможет ReSharper, я бы так рассуждал.