Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Texte und Ebooks
Autor
Nachricht
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250

[Text] Mit mehreren Formen arbeiten
Verfasst am: 03.08.2007, 18:25

Mit mehreren Formen arbeiten


1. Allgemeines


Da man immer wieder mit mehreren Formen arbeiten muss, aber viele nicht wissen wie man das am besten macht, hab euch mal ein kleines Tutorial geschrieben. Mehrere Formen braucht man vorallem dann, wenn ein weiteres Fenster aufmachen will und man das alte trotzdem noch sehen soll (z.b ein Optionsmenu) , bzw die Fenster so verschieden sind, dass es zu viel Aufwand wäre, alle Objekte per .Visible sichtbar bzw unsichtbar zu machen.


2. Verwendung


Zuerst muss man natürlich eine neue Form hinzufügen, per Rechtsklick auf das akutelle Projekt im Projektmappenexplorer -> Hinzufügen -> Windows Form, dann noch Namen eingeben -> Fertig

Ich nenne unsere Form mal Optionsmenu, die Hauptform ist bei mir Mainform

Wir könnten nun einfach Form2.Show und Form2.Close verwenden und fertig, aber die Methode ist nicht sehr praktisch, zumal die 2 Form dann nicht wirklich zu ist, sondern noch im Hintergrund läuft und einen Haufen an Speicher verbraucht.

Daher deklarieren wir uns erstmal eine Variable als Form:

Code:
   
Public Form2 As Optionsmenu


Nun kommen die beiden Subs zum Öffnen bzw. Schließen der Form:

Code:

Private Sub OpenForm2()
        Form2 = New Optionsmenu()
        Form2.Show()
End Sub

Private Sub CloseForm2()
        Form2.WindowState = FormWindowState.Minimized
        Form2.Close()
End Sub


Aufrufen geht dann einfach so:

Code:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e _
 as System.EventArgs) Handles Button1.Click
OpenForm2()
End Sub


Bzw. das ganze mit CloseForm2

Das Minimieren dient dazu, dass der Garbage Collector die Form aus dem Ram schaufelt, sonst würde die Applikation immer mehr Ram brauchen, umso öfter man die 2. Form aufruft und wieder schließt.

Es muss auch andere Wege geben sie aus dem Ram zum Entladen, aber das ist die einzig mir bekannte ^^ Seltsamerweiße bleibt der Ramverbrauch trotzdem sehr hoch, wenn man die 2. Form vor dem Minmieren, per .Visible unsichtbar macht. Daraus bin noch nicht so schlau geworden, wenn mir wer weiterhelfen kann, wäre ich dankbar, dann kann ich das Tutorial verbessern ^^

Das ganze lässt sich natürlich auf beliebig viele Formen erweitern.


3. Von einer Form Daten an eine Andere senden


Nun das ist im Grunde kein Problem, soll es an eine Variable sein, muss diese nur Public deklariert sein, also z.b dieser Code in der Mainform:

Code:
Public Passwort As String


Geändert wird die Variable von der 2. Form (Optionsmenu) so:

Code:
Mainform.Passwort = "1337"


Wenn es sich um eine Eigenschaft eines Objektes handelt, macht man es genauso, einfach in der 2. Form

Code:
Mainform.Textbox1.Text = "vb-x.org"


Ist also wirklich einfach Wink
_________________
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 04.08.2007, 08:09

Nice Nice. VB-Net Tutorials können wir gut gebrauchen hier.

Das mit dem vollständigen entladen der Formen sollte man bei VB6 auch machen wenn man sie nicht mehr braucht.

:thumbsup: für ein gelungenes Texttutorial. Wink
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
Plateyno
Newbie
Newbie

Anmeldedatum: 07.01.2010
Beiträge: 1


Verfasst am: 07.01.2010, 16:11

Private Sub CloseForm2()
Form2.WindowState = FormWindowState.Minimized
Form2.Close()
End Sub

genau das funktioniert bei mir irgendwie nicht... da kommt immer "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt" dabei hab ich alles deklariert usw. und open funktioniert... was kann das problem sein?
_________________
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Texte und Ebooks

Tags: mehreren formen, mehreren form, variable

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wie kann ich mich bei euch anmelden?? 387 20.05.2002, 01:28
Keine neuen Beiträge Passwort Generator by sollniss 801 28.11.2008, 18:03
Keine neuen Beiträge Eine kleine Frage an euch.. 373 30.09.2007, 09:57
Keine neuen Beiträge TUT zur Passwort abfrage 650 10.08.2007, 16:06
Keine neuen Beiträge IP Stealer example 4 RuaP and vb-x.org 789 30.04.2007, 17:20
 



[ Time: 0.2563s ][ Queries: 89 (0.0580s) ][ GZIP on - Debug on ]