Hallo !
Wie kann ich bei einer switch case Abfrage eine Form öffnen lassen?
Ich nutze Form1 aus als mein Hauptfenster und will jetzt eine neue Form öffnen!
private Form3 ShowTextWindow = new Form3(); // soll geöffnet werden...
switch(x)
{
case 1: { this.TopMost = false; // Form1 in den Hintergrund
ShowTextWindow.ShowDialog(); break; }
case 2: { break; }
default: { break; }
}
Warum funktioniert das so nicht ?? Jemand ne schnelle Idee ?
Gruss macke_a
Hallo !
Punkt 1 - kommt nie wieder vor !!
Wie meinst Du das mit dem owner?
Was muss ich zum Quelltext dazu schreiben?
Wenn du den code wirklich genau so hast wie er da oben steht dann mach einfach mal das private vor der Form3-Variablen weg.
Der rest müsste funktionieren.
your fragile folded wings
are just tired from the pure blue sky
you dont have to force your smiles for anyone
its okay to smile...for yourself
Hallo !
So, das Fenster öffnet sich ! Alles soweit in Ordnung.
Ich habe einen Dialog "OK-Button" auf meiner Form, der sich irgendwann nach dem der Nutzer diesen gedrückt hat, das schließen des Fenster erledigen soll. Anschließend muss natürlich die alte Form wieder vorhanden sein!
Was muss ich machen bzw. es gibt ja eine Abfrage die den Dialog überprüft, ob das Fenster geschlossen werden soll.
if (ShowTextWindow.DialogResult == DialogResult.OK)
{ this.TopMost = true; }
Muss ich dafür jetzt einen Eventhandler schreiben? Wie soll ich dafür die Programmierung händeln?
Ich muss einen Bezug zur Form1 haben, oder ?
Setz doch eifnach im OK-Button die Dialogresult-Eigenschaft auf DialogResult.OK
oder setz beim Form den OK-Button als AcceptButton
den Rest machst du dann mit deinem
if (ShowTextWindow.DialogResult == DialogResult.OK)
Edit: Ich empfehle dir ein OpenBook oder ähnliches zu lesen, denn Die Arbeit mit Dialogen gehört zu den Grundlagen.
your fragile folded wings
are just tired from the pure blue sky
you dont have to force your smiles for anyone
its okay to smile...for yourself
Hallo !
In der Form3 steht beim OK, unter Eigenschaft Aktion->Click-> Dialog_OK_Click..
Normal müsste das reichen, aber ich komme nicht mehr zur Form1 zurück!!!
Ne Idee?
Setzt du in "Dialog_OK_Click.." den DialogResult vom Form auf DialogResult.OK ?
wie gesagt les dir ein openBook durch z.B.
http://www.galileocomputing.de/openbook/visual_csharp/visual_csharp_15_008.htm
da stehen solche grundlagen drinn
your fragile folded wings
are just tired from the pure blue sky
you dont have to force your smiles for anyone
its okay to smile...for yourself
Noch mal eine andere Sache in diesem Zusammenhang.
Warum blockiert mein restliches Programm, in der Zeit wo die Form3 aufgerufen habe?
Form3 ShowTextWindow = new Form3();
ShowTextWindow.ShowDialog(); // Form3 blockiert restliches Programm bis geschlossen
Was ist denn dazu zu sagen, das ist ja tödlich bzw. nicht zu gebrauchen für meine Anwendung!
Das ist nunmal bei einem Dialog so.
Solange ein Dialog offen ist, ist sein Owner blockiert.
Wenn du nicht willst das es blockiert benutzte .Show() anstelle von .ShowDialog()
Den Unterschied zwischen Show und ShowDialog solltest du kennen.
Ich verweise erneut daraus das du dir dringend die Grundlagen aneignen solltest.
your fragile folded wings
are just tired from the pure blue sky
you dont have to force your smiles for anyone
its okay to smile...for yourself