vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: ein kleines Problem mit Formverwaltung in einer MDIForm 
Autor: wb-soft
Datum: 25.02.10 19:46

Hi!

Hier noch einmal dein Code, und wie er (nicht) funktioniert.

MDIForm1
Dim oForm As New Form1
 
Private Sub Neu_n_Click()
oForm.Show
End Sub
Bis hierher ist alles in Ordnung. Eine neue Instanz von Form1 wird erstellt und angezeigt. Die Variable oForm existiert nur in MDIForm1.

Ich persönlich würde aber nicht Dim As New verwenden.

Form1
Dim oForm As New Form1
 
Private Sub Command1_Click()
    oForm.Show
End Sub
 
Private Sub Form_Load()
    Call Test 'Im Module1 wird nun der Test aufgerufen, der den Text ausgeben 
    ' soll
End Sub
Hier wird wieder eine neue Instanz von Form1 erstellt und angezeigt. Es gibt also jetzt 2 Instanzen, was vermutlich nicht gewünscht ist.
oForm ist nur in dieser (ersten) Instanz von Form1 bekannt.
Der Aufruf von Test ist hier noch nicht als unbrauchbar erkennbar. Dazu später.

Auch hier wieder Dim As New

Module1
Dim oForm As New Form1
 
Public Function Test()
Dim Label1$
 
    Label1$ = "Hier muss was stehen und es darf nur ein Fenster offen sein"
    oForm.Label1.Caption = Label1$
End Function
Wieder eine neue Instanz von Form1, die allerdings nicht angezeigt wird.
Nach dem die vorher deklarierten Variablen oForm in diesem Modul nicht bekannt sind, kann sich die Funktion Test nur auf die im Modul deklarierte, unsichtbare Form beziehen.

Jetzt der Code, wie er vermutlich deine Wünsche erfüllt:

Form1
Private Sub Form_Load()
    Call Test(Me) 'Im Module1 wird nun der Test aufgerufen, der den Text 
    ' ausgeben 
    ' soll
End Sub
Der Funktion Test wird als Parameter die aufrufende Form mitgegeben.

Module1
Public Function Test(oForm as Form1)
Dim Label1$
 
    Label1$ = "Hier muss was stehen und es darf nur ein Fenster offen sein"
    oForm.Label1.Caption = Label1$
End Function
Die Funktion weiß jetzt, auf welcher Form sich Label1 befindet, und kann damit das richtige Label verändern.

Ich habe das nur aus dem Kopf geschrieben, und nicht getestet, Sollte aber funktionieren.


mfg

WB
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ein kleines Problem mit Formverwaltung in einer MDIForm1.070Sophus25.02.10 15:54
Re: ein kleines Problem mit Formverwaltung in einer MDIForm626Oly25.02.10 17:33
Re: ein kleines Problem mit Formverwaltung in einer MDIForm627wb-soft25.02.10 17:52
Re: ein kleines Problem mit Formverwaltung in einer MDIForm645Sophus25.02.10 18:10
Re: ein kleines Problem mit Formverwaltung in einer MDIForm619wb-soft25.02.10 18:35
Re: ein kleines Problem mit Formverwaltung in einer MDIForm650Sophus25.02.10 19:03
Re: ein kleines Problem mit Formverwaltung in einer MDIForm628wb-soft25.02.10 19:46
Re: ein kleines Problem mit Formverwaltung in einer MDIForm595Sophus25.02.10 20:12
Re: ein kleines Problem mit Formverwaltung in einer MDIForm639wb-soft25.02.10 20:38
Re: ein kleines Problem mit Formverwaltung in einer MDIForm598Sophus25.02.10 21:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel