Entwickler-Ecke

WinForms - Multiform Problematik


sCrub - Mi 17.11.10 18:59
Titel: Multiform Problematik
Guten Abend

ich bastel seit einiger zeit an einem kleinen netzwerk-Chat das funktioniert auch alles soweit ganz gut, jetzt habe ich nur ein kleines
problem mit meiner Chat-Window form.

Mein Chat ist folgendermaßen aufgebaut: Auf meiner Main-Form befindet sich eine listbox mit den Chat-Kontakten bei doppelklick auf den benutzer darin soll sich dann
die form öffnen wo dann auch sachen mit übergeben werden die form öffne ich mit:

ChatW chatw = new ChatW(uebergabestring);
chatw.Show();



das problem ist nun wen ich 2x auf den selben benutzer klicke geht diese Form zwei mal auf das möchte ich verhindern.

Das nächste Problem wird dann wen ich jetzt mehrere solche Fenster auf habe, möchte ich mit der Main-Form (also die mit der Listbox) text in die textfelder
der Chat-Window Formen schreiben und halt immer in ein bestimmtes wie kann ich den Formen wen sie "aufgehen" bestimmte namen geben und sie dann direkt "ansprechen"?

Vermutlich ist die Lösung garnicht so schwer aber irgendwie komm ich grad nochnicht drauf^^

vielen Danke schonmal im vorraus


sCrub - Sa 20.11.10 16:59

Mittlerweile bin ich einen schritt weiter.
So sieht es momentan aus:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
                Form currentForm = Application.OpenForms[usrlst.Text];
                if (currentForm.Name == null)
                {
                    chatf Chatf = new chatf();
                    Chatf.Name = usrlst.Text;
                    Chatf.Show();
                }
                currentForm.Show();


Leider sagt mir der compiler dan das:

user defined image

hat vllt jemand ne idee?


Christian S. - Sa 20.11.10 17:43

Das sieht so aus, als wäre currentForm null, also scheint er die Form nicht zu finden.


Th69 - Sa 20.11.10 18:32

Du mußt nur auf 'currentForm' testen, d.h.

C#-Quelltext
1:
2:
3:
4:
if (currentForm != null)
{
  // ...
}


sCrub - Sa 20.11.10 19:47

vielen Dank euch, funktioniert nun einwandfrei ;)