Vb.NET Windows Forms richtig aufrufen und schließen
Hallo zusammen,
Ich habe mal eine Grundsätzliche Frage zu dem Window Handling in VB.NET.
Ich habe eine Anwendung die mehrere Fenster benötigt .. Also nicht Tabs oder ähnliches sondern wirkliche Fenster.
Mein Problem daran ist jetzt, dass ich bisher immer sozusagen die Fenster wohl nur ausblende... also mit Me.Hide() und dann das andere Fenster Show() nun das muss doch bestimmt auch anderst gehen ?!
Ansonsten wenn ich das Anmeldefenster bei erfolgreicher Anmeldung mit balblabla.Show() und dann das Anmeldefenster mit Me.Close() schließen möchte beendet er alles ....
Ich hoffe Ihr versteht einigermaßen was ich meine ansonsten bitte einfach Fragen ;) ich versuchs dann klarer zu machen
Danke
Gruß
Patrick
Ich habe mal eine Grundsätzliche Frage zu dem Window Handling in VB.NET.
Ich habe eine Anwendung die mehrere Fenster benötigt .. Also nicht Tabs oder ähnliches sondern wirkliche Fenster.
Mein Problem daran ist jetzt, dass ich bisher immer sozusagen die Fenster wohl nur ausblende... also mit Me.Hide() und dann das andere Fenster Show() nun das muss doch bestimmt auch anderst gehen ?!
Ansonsten wenn ich das Anmeldefenster bei erfolgreicher Anmeldung mit balblabla.Show() und dann das Anmeldefenster mit Me.Close() schließen möchte beendet er alles ....
Ich hoffe Ihr versteht einigermaßen was ich meine ansonsten bitte einfach Fragen ;) ich versuchs dann klarer zu machen
Danke
Gruß
Patrick
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 162254
Url: https://administrator.de/forum/vb-net-windows-forms-richtig-aufrufen-und-schliessen-162254.html
Ausgedruckt am: 26.12.2024 um 11:12 Uhr
5 Kommentare
Neuester Kommentar
Hallo scriptkiddy!
Meines Wissens(kanns grade nicht ausprobieren) schliesst die Sub Close() eine Form und alle untergeordneten...
Versuch mal eine Hauptform zu machen, die unsichtbar ist und nichts macht ausser die Fenster zu verwalten. Dann sollte erst nach schliessen dieser Hauptform alles zugehen...
Mathe172
Meines Wissens(kanns grade nicht ausprobieren) schliesst die Sub Close() eine Form und alle untergeordneten...
Versuch mal eine Hauptform zu machen, die unsichtbar ist und nichts macht ausser die Fenster zu verwalten. Dann sollte erst nach schliessen dieser Hauptform alles zugehen...
Mathe172
Hallo Patrick!
Ist in etwa zu vergleichen mit Ordner erstellen/löschen. Stell Dir vor, Du hast einen Hauptordner und erstellts einen Unterordner mit weiteren Unterordnern und dann löschst Du übergeordnete Ordner oder gar den Hauptordner. Was denkst Du, passiert nun mit den Unterordnern? Und beim Verstecken (Hidden (Hide)) dagegen sind sie aber immer noch da.
Gruß Dieter
Zitat von @scriptkiddy:
Ansonsten wenn ich das Anmeldefenster bei erfolgreicher Anmeldung mit balblabla.Show() und dann das Anmeldefenster mit Me.Close()
schließen möchte beendet er alles ....
Ist ja auch logisch, weil Show im Prinzip ein Aufruf mit Rücksprungadresse bzw. Show (Call) und Close (Return) ist. D.h. die aufgerufene Form muss ja zum Aufrufer zurückkehren können. Wenn nun eine Form geschlossen wird, werden alle nachfolgenden Forms auch geschlossen.Ansonsten wenn ich das Anmeldefenster bei erfolgreicher Anmeldung mit balblabla.Show() und dann das Anmeldefenster mit Me.Close()
schließen möchte beendet er alles ....
Ist in etwa zu vergleichen mit Ordner erstellen/löschen. Stell Dir vor, Du hast einen Hauptordner und erstellts einen Unterordner mit weiteren Unterordnern und dann löschst Du übergeordnete Ordner oder gar den Hauptordner. Was denkst Du, passiert nun mit den Unterordnern? Und beim Verstecken (Hidden (Hide)) dagegen sind sie aber immer noch da.
Gruß Dieter
Hallo nochmal,
am einfachsten wird es sein, wenn du dir überlegst, welches Formular von welchem abhängig sein soll, und dann definierst du die Form jeweils im übergeordneten Formular.
Also etwa:
Mathe172
am einfachsten wird es sein, wenn du dir überlegst, welches Formular von welchem abhängig sein soll, und dann definierst du die Form jeweils im übergeordneten Formular.
Also etwa:
'-------Code von Form1, welches "Besitzer" von Form2 ist--------
Dim Form2 as new Form2 'oder wie die Klasse von Form2 auch heisst...
'jetzt ist Form2 Form1 untergeordnet und wird erst dann geschlossen, wenn Form1 geschlossen wird oder es selbst
Mathe172