Often, you need a console window together with a WinForm application. It can be very handy for debugging purposes while developping, but also for a (temporary) logging of some data. It is very simple to do. The following program demonstrates it, using P/Invoke.
Start a new Windows application, drop a CheckBox on the form, name it ViewConsole, and copy the following code into it.
using System; using System.Windows.Forms; using System.Runtime.InteropServices; // needed to call external // application (winAPI dll) namespace WindowsApplication1 { partial class Form1: Form { public Form1() { InitializeComponent(); } private void ViewConsole_CheckedChanged(object sender, EventArgs e) { if (ViewConsole.Checked) Win32.AllocConsole(); else Win32.FreeConsole(); } } public class Win32 { [DllImport("kernel32.dll")] public static extern Boolean AllocConsole(); [DllImport("kernel32.dll")] public static extern Boolean FreeConsole(); } }