Entwickler-Ecke
WinForms - Form2 von Form1 öffnen und schliessen
michdan - So 13.01.13 16:20
Titel: Form2 von Form1 öffnen und schliessen
Hallo
Ich habe 2 forms. Auf form1 habe ich einen button mit dem ich das form2 öffnen möchte und beim zweiten click auf button in form1 das form2 wieder schliesen.
Der button aud form1 soll als toggle wirken.
Ich öffne das form2 mit
C#-Quelltext
1: 2:
| Form2 f2 = new Form2(); f2.Show(); |
aber wie kann ich den form2 wieder schliesen?
Moderiert von
Christian S.: B- durch C#-Tags ersetzt
Moderiert von
Th69: Titel geändert.
Th69 - So 13.01.13 17:14
Hallo michdan :welcome:
du mußt dir das Form-Objekt in einer Membervariablen merken
C#-Quelltext
1:
| private Form2 form2 = null; |
und kannst dann entsprechend abfragen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if (form2 == null) { form2 = new Form2(); form2.Show(); } else { form2.Close(); form2 = null; } |
Dann sollte deine Form2 aber nicht vom User selbst geschlossen werden können (d.h. du solltest den Close-Button ausblenden (
ControlBox = false) bzw. deaktivieren durch das
FormClosing-Ereignis).
michdan - So 13.01.13 18:27
hallo
Danke das hat funktioniert...
Christoph1972 - Mo 14.01.13 08:01
michdan hat folgendes geschrieben : |
| Danke das hat funktioniert... |
Auch wenn du das ganz schnell hintereinander öffnest-schließt-öffnest? Ich hatte so schon den Effekt, das eine Form nicht null war, aber als Disposed markiert und somit nicht anzeigbar war. Daher würde ich noch IsDisposed mit abfragen, falls der User mal das Fenster vershentlich schließt und gleich wieder öffnet!
michdan - Di 15.01.13 13:37
ja das funktioniert bei mir sonn....
Habe auch nur diese 2 forms und ein button als test..
Ich habe dass auch mit Delphi versucht und mich hat gewundert warum man in delphi einfach dass Form2 mit Form2.Close von Form1 schliesen kann ohne eine referenz variable zu haben.
In Delphi steht einfach
Uses Form2 und schon hat man direkten zugriff auf Form2.
Warum is das bei C# so anders ?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!