Como otras respuestas han declarado System.Diagnostics.Debug.WriteLine
es la decisión correcta para los mensajes de depuración. Pero para responder a su pregunta:
desde una aplicación de Windows Forms puede invocar una ventana de consola para la interacción de esta manera:
using System.Runtime.InteropServices;
...
void MyConsoleHandler()
{
if (AllocConsole())
{
Console.Out.WriteLine("Input some text here: ");
string UserInput = Console.In.ReadLine();
FreeConsole();
}
}
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool FreeConsole();
veces Lo utilizo para criar a un símbolo del sistema en lugar de las ventanas de aplicación cuando se les da ciertos interruptores apertura.
Hay algunas ideas más en esta cuestión similar si alguien lo necesita:
What is the Purpose of Console.WriteLine() in Winforms
o si se inicia el exe de la consola y no quiere cambiar su aplicación manifiesta ser una aplicación de consola, aquí es el verdadero solución: http://www.nerdyhearn.com/blog/157/ –