Zurück von Application.Run zum Aufrufsstelle ohne Blockierung!

wae20

Grünschnabel
Hallo,

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

Code:
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)

Code:
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:

Code:
public ProgramTEST()
{
    ApplicationTestStart _applicationTestStart = new ApplicationTestStart();
    ThreadStart ts = new ThreadStart(_applicationTestStart.Run);
    Thread t1 = new Thread(ts);
    t1.Start();
}
und:
Code:
public class ApplicationTestStart
{
    public ApplicationTestStart()
    {
    }

    public void Run()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(fals e);
        Application.Run(new MyApplicationContext(new string[] {}));
    }
}
 
Wie gesagt, ich möcht GUI testen, mit test tools und die können auf dem GUI zugreifen, steuern und alle Methoden der GUI-Applikation per reflecion auslösen...

Das ist ein einfaches Test, (was ich hier oben geschrieben habe)
Die GUI Applikation wird gestrater und mit "buttonTester.FireEvent("Click");" wird auf das OK-Button automatisch geklickt... und dadurch kommt was anderes...
es geht um automatisierte GUI Testen...

Einfach gesagt:
Ich möchte ein GUI starten und auf ein Button automatisch klichen oder mit sein methoden weiter abreiten!

Danke.
 

Neue Beiträge

Zurück