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.