Zablokowana instrukcja przez szereg innych instrukcji

0

Witam. Mój problem opisze poniższy przykład.

private void login_Click(object sender, EventArgs e)
        {
            info.Visible = true;
            try
            {
                //szereg instrukcji

                this.Hide();
                var program = new Form2(this);
                program.Show();
            }
            catch ()
            {
                info.Visible = false;
                MessageBox.Show("Błąd!", "Wystąpił błąd podczas logowania!");
            }
        }

Podczas wykonywania "szeregu instrukcji" na jakieś 2sek wiesza się GUI (i to akurat mi pasuje ponieważ mam w niej animację, która zatrzymuje się podczas wykonywania "szeregu instrukcji" na wskutek chwilowego zawieszenia GUI :) ) więc wszystko jest ok, ALE przed tym krótkim zawieszeniem wywołuję informację info.Visible = true;, która niestety pomimo tego, że jest przed wykonywaniem "szeregu instrukcji" to nie wyświetla się przed tym krótkim zawieszeniem i jej nie widać, ponieważ potem to okienko znika i pojawia się nowa forma :/
Wie ktoś jak to zrobić aby instrukcja info.Visible = true; wyświetliła się przed chwilowym zawieszeniem GUI?

Kombinowałem z nowym wątkiem, a w nim info.Visible = true; lecz jak wywołam wątek w tym miejscu co wyżej w kodzie jest info.Visible = true; to też nie zdąży się wywołać przed zawieszeniem :/
Potem próbowałem dawać "szereg instrukcji" do wątku, i wszystko było ok (bo animację też mogę podmienić na obrazek i przestanie się wykonywać animacja), ale zaś gdy "szereg instrukcji" nie zostanie wykonana poprawnie to potem jak nacisnę drugi raz button to mam błąd że wątek już istnieje i lipa bo watek.Abort(); nie kończy działania wątku.

1

Coś w rodzaju Application.DoEvents; powinno zadziałać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1