2016-07-29 6 views
1

Zunächst zeigt, die verwendet ich etwas wie folgt aus:Der richtige Weg, um eine winform von einer Konsole App

static void Main(string[] args) 
    { 
     logger.Controls.Add(new TextBox { Name = "tb" }); 
     logger.Show(); 

     Console.ReadLine(); 
    } 

Ich habe eine Form zeigte, aber überhaupt nicht anspricht. Dann sagte mir etwas Googeln, ich solle Application.Run() anstelle von Show() verwenden und dann funktionierte es. Jetzt frage ich mich die Erklärung dahinter.

Jeder kann helfen? Vielen Dank.

Antwort

2

In einer Konsolenanwendung gibt es keine Nachrichtenschleife. Der Aufruf von Application.Run() startet die Ausführung einer Standardanwendungsnachrichtenschleife für den aktuellen Thread. Siehe MSDN Tutorial.

0

Soweit ich weiß Application.Run() ist erlaubt als .show(), In diesem Fall verwenden Sie Konsole. Application.Run() ist besser anwendbar als .show(). Es könnte nur in einer Formular-Benutzeroberfläche verwendet werden, nicht in der Konsole.

Ich hoffe, es hilft.

Verwandte Themen