Hallo erstmal.
Habe ein Problem mit mehreren Forms.
In meinem Programm möchte ich mehrere Forms gleichzeitig auf dem Desktop haben. D.h. eine MainForm und ein paar drumherum. Es klappt auch alles (Datentausch etc.) Die anderen Forms sind eigentlich eigenständige Programmteile. Möchte auch keine MDI Anwendung.
Jetzt aber zu dem Problem, nur die MAinForm ist ShowInTaskbar=true. Alle anderen false. Wenn ich jetzt in ein anderes Programm wechsle (meins ist aktiv) und danach in mein Programm mit MainForm zurcük wechsle, wird auch leider nur diese MAinForm angezeigt. Die anderen Forms: Form1, Form2, Form3, ... habe ich mit .Show() erzeugt.
Jetzt kann ich Sie mit FormX.BringToFront() auch in den Vordergrund holen und mich danach selber Me.Activate() setzen, aber nur wenn ich in dieser Form auch einen Button click, der diese Befehle enthält.
Wie automatisiere ich das? Wenn ich das in Private Sub MainForm_Activated packe und mich dann nach vorne hole und dann active setzte (was ich ja nicht immer unbedingt möchte, da ich auch die z-order evtl. wieder herstellen möchte) , flackern die Forms wie wild und beruhigen sich erst nach ein paar Sekunden. Ich denke die IDE ist so schlau und unterbricht dann die Pingpong Nachrichten schleife. Wie kann ich das Ereignis Activate kurzzeitig außer Kraft setzen und erst nach abarbeiten wieder aktivieren?
Für einen konstruktiven Vorschlag wäre ich sehr dankbar.
homa57
Habe ein Problem mit mehreren Forms.
In meinem Programm möchte ich mehrere Forms gleichzeitig auf dem Desktop haben. D.h. eine MainForm und ein paar drumherum. Es klappt auch alles (Datentausch etc.) Die anderen Forms sind eigentlich eigenständige Programmteile. Möchte auch keine MDI Anwendung.
Jetzt aber zu dem Problem, nur die MAinForm ist ShowInTaskbar=true. Alle anderen false. Wenn ich jetzt in ein anderes Programm wechsle (meins ist aktiv) und danach in mein Programm mit MainForm zurcük wechsle, wird auch leider nur diese MAinForm angezeigt. Die anderen Forms: Form1, Form2, Form3, ... habe ich mit .Show() erzeugt.
Jetzt kann ich Sie mit FormX.BringToFront() auch in den Vordergrund holen und mich danach selber Me.Activate() setzen, aber nur wenn ich in dieser Form auch einen Button click, der diese Befehle enthält.
Wie automatisiere ich das? Wenn ich das in Private Sub MainForm_Activated packe und mich dann nach vorne hole und dann active setzte (was ich ja nicht immer unbedingt möchte, da ich auch die z-order evtl. wieder herstellen möchte) , flackern die Forms wie wild und beruhigen sich erst nach ein paar Sekunden. Ich denke die IDE ist so schlau und unterbricht dann die Pingpong Nachrichten schleife. Wie kann ich das Ereignis Activate kurzzeitig außer Kraft setzen und erst nach abarbeiten wieder aktivieren?
Für einen konstruktiven Vorschlag wäre ich sehr dankbar.
homa57
Comment