Entwickler-Ecke

WinForms - Zurück von Application.Run zum Aufrufsstelle ohne Blockieru


wael20 - Do 17.07.08 10:44
Titel: Zurück von Application.Run zum Aufrufsstelle ohne Blockieru
Hallo,

Ich habe ne Frage:
Wie kann mein Programm weiter laufen wenn ich zuvor Application.Run aufgerufen habe.
ein kleines Beispiel:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
public class ProgramTEST
{
     public ProgramTEST()
     {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new MyApplicationContext(new string[] {})); // -->Hier bleibt es stehen
     }

     public ControlTester buttonTester;

     public void Test()
     {
        buttonTester = new ControlTester("_okButton""myForm");

        buttonTester.FireEvent("Click");
     }
}


Ich kann auch so was nicht benutzen: (es darf nicht instanziert werden, wegen andere Sachen, wie unter anderen Backgroundworker)


C#-Quelltext
1:
2:
MyMainForm myForm = new MyMainForm();
myForm.ShowDialog();


ich habe sowas probiert, aber man kann es nicht debugen und es funktioniert nicht ganz gut, aber das ist mein Ziel:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
public ProgramTEST()
{
    ApplicationTestStart _applicationTestStart = new ApplicationTestStart();
    ThreadStart ts = new ThreadStart(_applicationTestStart.Run);
    Thread t1 = new Thread(ts);
    t1.Start();
}

und:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
public class ApplicationTestStart
{
    public ApplicationTestStart()
    {
    }

    public void Run()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(fals e);
        Application.Run(new MyApplicationContext(new string[] {}));
    }
}


Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


JüTho - Do 17.07.08 12:56

Ich will mich mal wieder unbeliebt machen: wael20 hat hier [http://www.mycsharp.de/wbb2/thread.php?threadid=58216] schon viele Antworten erhalten. Neuerdings gibt es dort [http://www.mycsharp.de/wbb2/thread.php?threadid=26594] diese Begründung, warum Doppel-Posts unerwünscht sind:
Zitat:
Als Crosspost gilt natürlich auch, wenn ihr die gleiche Frage in verschiedenen Internet-Foren stellt. Letzteres verursacht den Helfern besonders viel unnötigen Aufwand, da die gleiche Frage unabhängig voneinander mehrfach beantwortet werden muss, weshalb dieses Vorgehen oft als unhöflich oder gar unverschämt angesehen wird.

Also Empfehlung: Diese Frage hier ignorieren. Jürgen


Tino - Do 17.07.08 13:06

Hallo!

Grundsätzlich spricht von unserer Seite erstmal nichts gegen Coss-Postings. Allerdings sollte man dann fairerweise Links zu den unterschiedlichen Postings mit in den Beiträgen angeben um die Leser darauf hinzuweisen.

Gruß
Tino


wael20 - Do 17.07.08 13:30

Sorry, danke, bin neu dabei!