Laden...

Form per Thread starten, nur wie?

Erstellt von Mr. Ed vor 14 Jahren Letzter Beitrag vor 14 Jahren 739 Views
Mr. Ed Themenstarter:in
44 Beiträge seit 2009
vor 14 Jahren
Form per Thread starten, nur wie?

Hallo zusammen,

stehe mal wieder vor einen kleinen bzw. für mich großen Problem 😃. Versuche mittels eines Threads eine Windows Form zu starten und auf dieser ein ProgressBar als Marquee laufen zu lassen.

Die Form erscheint ganz kurz und ist dann aber sofort wieder verschwunden.


        private void Start()
        {
            threadMarquee = new Thread((Thread));
            threadMarquee.IsBackground = false;
            threadMarquee.Start();
        }
        
        private void Thread()
        {
            progressbar progressBar = new progressbar();
            progressBar.StartPosition = FormStartPosition.CenterScreen;
            progressBar.Show();
        }

Hat von euch jemand eine Idee, wie ich das machen kann, dass die Form solange geöffnet bleibt, bis ich sie per threadMarquee.Abort() beende?

Viele Grüße
Mr. Ed

946 Beiträge seit 2008
vor 14 Jahren

Imho müsste ein ShowDialog reichen.
Andererseits ist das eine ziemlich schlechte Lösung, da alle Controls (und dazu gehören auch Forms) nur in einem einzigen Thread existieren sollten.

Siehe auch [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke)

mfg
SeeQuark

Mr. Ed Themenstarter:in
44 Beiträge seit 2009
vor 14 Jahren

Wow, so einfach die Lösung. Mit deinem Tipp hats super funktioniert und die Lösung reicht mir auch. Besten Dank! 😃


progressBar.ShowDialog();

Viele Grüße
Mr. Ed

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo Mr. Ed,

wie schon von SeeQuark gesagt, ist das keine gute Lösung. Halte dich besser an das, was in [FAQ] Warum blockiert mein GUI? steht.

herbivore