head.WriteLine()

Donnerstag, Oktober 26, 2006

ConsoleTraceListener in WinForms nutzen, Teil 1

Der ConsoleTraceListener ist neu in .NET 2.0 und ermöglicht, wie der Name schon sagt, die Ausgabe von Trace-Informationen in die Konsole. Das ist besonders für Windows-Forms-Anwendungen interessant, bietet es doch die Möglichkeit, während der Ausführung die Trace-Daten in Echtzeit zu überwachen.

Doch wie bekommt man die Konsolendaten in einer WinForms-Anwendung angezeigt? Hierfür gibt es drei verschiedene Ansätze:
  • Starten einer Konsolenanwendung, die ein WinForms-Fenster öffnet
  • Starten einer WinForms-Anwendung, die ein Konsolenfenster öffnet
  • Umleiten des Konsolen-Outputs in ein WinForms-Control

Die erste Variante ist am einfachsten. Hierbei stellen Sie in den Projekteigenschaften den Ausgabetyp der WinForms-Anwendung auf Konsole-Anwendung. Wenn Sie die Anwendung nun starten, sieht das in etwa wie folgt aus:

Nun können Sie den ConsoleTraceListener über Trace.Listener einhängen und drauf los tracen. Die Ausgabe wird daraufhin im parallel laufenden Konsolenfenster ausgegeben.

Trace.Listeners.Add(new ConsoleTraceListener());
Trace.WriteLine("Hello Console Trace!");

Das Ganze hat jedoch den etwas angestaubten Charme einer Java-Anwendung ;) Wie es eleganter geht, erfahren Sie im zweiten Teil.