c# Zamknięcie formy nie niszczy jej

0

Witam, mam taką sytuację, w wątku tworzę formę po czym zaraz po niej wpisuje w niej odebrany komunikat. Wszystko jest fajnie gdy przychodzi pierwszy komunikat, czekam aż okno

okno.Created

no i jeśli jest true wpisuje komunikat, po czym zamykam okno z tym komunikatem. Problem pojawia się przy drugim komunikacie i kolejnych. Nie wiem dlaczego ale zamknięcie okna nie zmienia właściwośći Created na false. W efekcie albo w otwartym oknie nie ma w ogóle wiadomości albo jest ucięte. Więc albo korzystam z niewłaściwej właściwości albo coś muszę zrobić przy zamykaniu tego okna.

0

A co chcesz osiągnąć?

0

Chodzi mi o to żeby instrukcja wpisująca komunikat do nowo tworzonej formy czekała aż ta forma będzie gotowa. Za pomocą sprawdzania czy okno created działa ale tylko przy pierwszym komunikacie. Kolejne następne wpisują się za szybko bo okno mimo tego że go nie ma na ekranie ma już ustawione created a w rezultacie albo komunikatu nie ma w oknie w ogóle i okno jest puste albo komunikat jest obcięty. Tzn taka jest moja teoria bo w trybie debugowania ciężko to wychwycić.

0

Dobra to może jednak nie to, ale co w takim razie może być przyczyną. To funkcja wpisująca tekst w okno:
internal void WpiszTekst(string kto, string tresc)
{
if ((kto == "ja" || kto == wiadomosc.odbiorca) && this.f_tb_wiadomosc.Created)
{
SetTextHTML("

" + kto + "</td><td width="90%">(" + DateTime.Now.ToShortTimeString() + "):</td></tr>");
SetTextHTML("" + tresc + "</table>");
SetTextHTML("
");
SetScroll();
}
}
A to wywołanie funkcji:</p>
 if (!listaRozmowcow.Contains(wiadomosc.nadawca))
                    {
                        this.Invoke((MethodInvoker)delegate() { TworzNoweokno(wiadomosc.nadawca); });
                        listaRozmowcow.Add(wiadomosc.nadawca);
                    }
                    while (okno.Created == false)
                    {
                        ;
                    }
                    okno.WpiszTekst(wiadomosc.nadawca, wiadomosc.tresc, false);

Załączam również screeny żeby to lepiej wyjaśnić.

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