vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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

VB.NET - Ein- und Umsteiger
Form mehrmals laden 
Autor: thunder_jei
Datum: 24.01.13 16:29

Hallo Zusammen!

Ich hoffe ihr könnt mir helfen!
Derzeit programmiere ich eine Programmoberfläche, welche sich beispielsweise ähnlich Excel verhalten soll. Ich habe eine Hauptform welche als Container dient. Darin öffne ich dann eine Form1 (ähnlich der Excel-Arbeitsmappe) mehrere Male. Es ist also die gleiche Form1 mehrmals geöffnet.

Diese Form1 hat ein paar Eingabefelder und kann auch eine andere Form2 öffnen. Um nicht den Überblick zu verlieren, wird Form1 disabled wenn Form2 geöffnet ist. Wichtig ist jedoch, dass nur diejenige Form1 disabled werden soll, welche auch Form2 aufgerufen hat. Alle anderen Form1 bleiben aktiv.
Ich hoffe, dass die Funktion bis hier hin nachvollziehbar ist!

Form2 wird über eine Funktion aufgerufen. Diese öffnet Form2, lässt den Benutzer eingaben machen, verarbeitet die Werte und gibt schließlich ein Ergebnis an Form1 zurück.


Folgend der Code für die Funktion:

Public Class Form2
 
    Public Function GetForm2(ExecutingForm As Form) As Integer
 
        ExecutingForm.Enabled = False  'ExecutingForm = Form1 und wird disabled
 
        Dim frm As New Form2
        frm.MdiParent = frmMain
        frm.Show()                     'Neue Form2 wird im Container angezeigt
 
        Do While frm.Visible           'Programm wird pausiert bis 
        ' WindowfrmTest geschlossen wurde
            Application.DoEvents()     'alle Events laufen jedoch normal weiter
        Loop
 
        ExecutingForm.Enabled = True   'Da Form2 nun geschlossen, wird Form1 
        ' wieder aktiviert
 
        frm.Close()
 
        Return 0
 
    End Function
End Class
Allerdings passiert nun Folgendes:
Bei der Verwendung einer einzigen Form1 und Form2 passt alles. Öffne ich jedoch gleichzeit zweimal Form1 und aus jeder dieser zwei Formen auch noch Form2 läuft noch alles. Sobald ich aber die erste Form2 schließe, bleiben alle beiden Form1 gesperrt. Und zwar so lange, bis beide Form2 geschlossen sind. Es müssen also alle Form2 geschlossen werden, damit alle Form1 wieder aktiviert werden.

Hier scheint es eine Abhängigkeit zwischen den mehrmals geöffneten Formen zu geben. Kann man eine Form, welche mehrmals geöffnet ist, irgendwie adressieren? Also beispielsweise mit einer ID?

Bitte um Hilfe, komme hier leider nicht mehr allein weiter.

Danke und schöne Grüße,
Jürgen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Form mehrmals laden1.317thunder_jei24.01.13 16:29
Re: Form mehrmals laden896Manfred X24.01.13 16:40
Re: Form mehrmals laden883thunder_jei25.01.13 11:03
Re: Form mehrmals laden877Manfred X25.01.13 11:52

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