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