Fendres Geschrieben 24. Juli 2009 Geschrieben 24. Juli 2009 Hallo alle miteinander, Allein die Überschrift ist schon etwas undeutlich Ich weiß nicht einmal, welche Suchbegriffe ich für mein Problem bei Dr. Google oder in der SuFu eingeben soll... Folgendes: Ich programmiere ein Programm, mit dem man verschiedene Datensätze anlegen kann. Diese Datensätze kriegen alle einen eindeutigen Namen, der mit einer eigens angelegten Form eingegeben wird. Wenn ich jetzt also auf meinen Menübutton "Neu" klicke, erscheint dieses Fenster und ich kann einen neuen Namen eingeben und somit einen neuen Datensatz anlegen. Problem:Sobald diese Form erscheint, soll diese im Vordergrund stehen und das Hauptfenster, welches sich dahinter befindet soll nicht anklickbar sein, sprich, solange ich noch nicht in dieser Form auf Okay oder Abbrechen geklickt habe, soll nichts anderes möglich sein. Ich habe bereit herausgefunden, dass man mit Form1.TopMost = True die Form in den Vordergrund und an vorderster Stelle setzen kann. Soweit so gut. Ich finde jedoch keine Möglichkeit, das Hauptfenster für die Zeit, in der die Form geöffnet ist, inaktiv zu setzen. Deshalb meine Frage an euch: Wisst ihr, wie man das lösen könnte? (Ist bestimmt total simpel, aber ich komm nicht drauf :hells: ) Vielen Dank schonmal Zitieren
Kosinator Geschrieben 24. Juli 2009 Geschrieben 24. Juli 2009 Ganz einfach benutze meinForm.ShowDialog() statt meinForm.Show(). Damit kannst du a) den Dialogresult prüfen (also, obs "normal beendet wurde, oder mit dem X oben rechts etwa, oder bei einer Speicherabfrage OK, Abbrechen oder sonstwas (von Dialogrestut-Objekten) gewählt wurde) und in Abhängigkeit davon Daten Änder, oder eben nicht (z.B.) und hast "automatisch" deinen gewünchten Effekt, dass das Childform das Parentform "blockiert" (mouse Wait und ausgegraut, glaube ich). Jedoch kannst du so immer nur einen meinForm - Fenster geöffnet haben, aber ich glaube, genau dass willste ja. Achso, ändere das "Form1.TopMost = True" wieder auf deafault (false), das nervt sonst, wenn keine ander Anwendung "drüber schweben" kann. Wenn es dir nicht ganz klar geworden ist, oder du fragen hast, mache ich gerne n paar codeschnipsel. Gruß, Kosi Zitieren
Fendres Geschrieben 24. Juli 2009 Autor Geschrieben 24. Juli 2009 :upps *lol* Ich hab ja gesagt, dass es total simpel ist, man muss nur erstmal darauf kommen :bimei Ist ja auch total logisch... Vielen Dank für deine schnelle Hilfe Kosi Zitieren
HJST1979 Geschrieben 27. Juli 2009 Geschrieben 27. Juli 2009 Kleine Tipp: Ich habe vorher etwas von Menü .. -> Neu gelesen. Wennst mal noch einen Schritt weitergehen willst schau dir mal Formulareigenschaft: IsMDIContainer (für das Hauptfenster) Dort kannst du dann Menüs einbauen und deine "Unter-" Forms in diesem MDIContainer aufrufen. Mann kann die "Unter-" Forms mit MDIChildren abrufen, es gibt auch eine Funktion mit der man das MDI- Haupfenster aufrufen kann. MDIParent ! Dim Formular As Form For Each Formular In Me.MdiChildren Next Gruß Hans-Jörg Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.