|
| |

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 |  |
 | 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 |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
| |
|
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
|
|