Le Winform sono solo app per console che mostrano finestre. È possibile indirizzare le informazioni di debug all'app della console.
Come si può vedere nell'esempio seguente, c'è un comando che collega la finestra genitore, quindi invia le informazioni ad esso.
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace MyWinFormsApp
{
static class Program
{
[DllImport("kernel32.dll")]
static extern bool AttachConsole(int dwProcessId);
private const int ATTACH_PARENT_PROCESS = -1;
[STAThread]
static void Main(string[] args)
{
// redirect console output to parent process;
// must be before any calls to Console.WriteLine()
AttachConsole(ATTACH_PARENT_PROCESS);
// to demonstrate where the console output is going
int argCount = args == null ? 0 : args.Length;
Console.WriteLine("nYou specified {0} arguments:", argCount);
for (int i = 0; i < argCount; i++)
{
Console.WriteLine(" {0}", args[i]);
}
// launch the WinForms application like normal
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Qui é la risorsa per questo esempio: http://www.csharp411.com/console-output-from-winforms-application/
fonte
2013-08-27 19:33:44
Hai controllato la finestra Output? (anche se, onestamente, l'autore dovrebbe usare Debug. */Trace. *) –
Modificare il tipo di progetto Winform in Applicazione console ('progetto/proprietà/applicazione/tipo di output') e riprovare. Tutto in uno :) – I4V
Probabilmente quella linea di codice doveva essere temporanea. Immagino che sia stato messo lì solo così lo sviluppatore potrebbe impostare un punto di interruzione per il debug. – Crispy