Laden...

Consolenanwendung mit Fenster möglich ?

Erstellt von jan223 vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.607 Views
jan223 Themenstarter:in
460 Beiträge seit 2004
vor 16 Jahren
Consolenanwendung mit Fenster möglich ?

Ist es möglich eine Consolenanwendung zu erstellen die irgendwann zur laufzeit ein WinForm - Fenster erzeugt und ausgibt?

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo jan223,

ja, allerdings muss solange das Fenster angezeigt wird, die Nachrichtenverarbeitung laufen, also in der Regel Application.Run.

herbivore

jan223 Themenstarter:in
460 Beiträge seit 2004
vor 16 Jahren

Ich habe jetzt folgendes probiert:

ich habe der Consolenanwendung eine WinForm Klasse hinzugefügt. Das ist der Quelltext der Consolenanwendung.

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Hello");
            Console.Read();
            Form1 f1 = new Form1();
            f1.Show();
            Console.Read();
        }
    }
}

Die Form wird aber nicht angezeit (oder so kurz das man es nicht sieht.).

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo jan223,

wie ich sagte:

allerdings muss solange das Fenster angezeigt wird, die Nachrichtenverarbeitung laufen, also in der Regel Application.Run.

Wenn das Fenster angezeigt werden soll, während das Consolenprogramm gleichzeitig Aktionen (hier also Console.Read) ausführen soll, dann brauchst du mehr als einen Thread.

herbivore

W
558 Beiträge seit 2006
vor 16 Jahren

Hast du eine Referenz auf System.Windows.Forms?
(Kann auch sein, dass das inzwischen automatisch hinzugefügt wird, sobald du ein Form hinzufügst.)

webstarg

jan223 Themenstarter:in
460 Beiträge seit 2004
vor 16 Jahren

Hast du eine Referenz auf System.Windows.Forms

Ja hab ich, wenn ich im Form_Load Event

System.Threading.Thread.Sleep(5000) 

hinzufüge, dann sieht man das das Fenster nach 5 Sekunden wieder zu geht. Aber man sieht das Fenster davor nicht.

Wenn das Consolenprogramm beeendet ist, geht das WinForm Fenster auch zu das ist ja klar. 2 Threads habe ich inzwischen auch.

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo jan223,

in dem Thread, in dem das Fenster angezeigt werden soll, muss Application.Run laufen, während das Fenster angezeigt wird. Mehr ist es nicht, weniger aber eben auch nicht.

herbivore

jan223 Themenstarter:in
460 Beiträge seit 2004
vor 16 Jahren

Danke ich habs jetzt, irgendwie stand ich gerade auf dem Schlauch.