3 Stimmen

Verhindern, dass das Hauptformular angezeigt wird, wenn ein anderes Formular angezeigt wird

Ich versuche, mein Sekundärformular in den Vordergrund zu bringen, aber wenn ich das mache

MyForm.Show; // Es könnte versteckt sein, also erst anzeigen
SetForegroundWindow(MyForm.Handle);

erscheint auch mein Hauptformular. Der einzige Weg, um das zu verhindern, ist MainForm.Hide; aber das muss ich vermeiden.

Die Idee ist, dass mein Sekundärformular über einer anderen Anwendung erscheint, ohne dass mein Hauptformular das ebenfalls tun muss.

2voto

NGLN Punkte 41853

Wenn Sie erwägen, eine weitere Anwendung für diese Funktionalität zu erstellen, dann können Sie auch den folgenden Kompromiss in Betracht ziehen: minimieren Sie das Hauptformular in die Taskleiste (anstatt es zu verstecken), um zu verhindern, dass es beim Aktivieren eines anderen Formulars auftaucht.

Wenn dies der Fall ist, versuchen Sie diese Antwort. Es fügt ein zusätzliches Symbol zur Taskleiste für das sekundäre Formular hinzu, aber das sollte kein Problem sein, da es sich um eine andere Anwendung handeln würde. Wenn das Hauptformular jedoch nicht minimiert ist, sondern von anderen Fenstern verdeckt wird, wird beim Aktivieren des Sekundärformulars auch das Hauptformular angezeigt, genauso wie Sie es jetzt erleben.

Und der Vollständigkeit halber, aber keineswegs als Ratschlag gedacht: diese Antwort beschreibt eine (etwas experimentelle) Konstruktion zur Erstellung vollständig unabhängiger Fenster. Die kurze Zeit, die ich diese Lösung getestet habe, schien sie zu funktionieren, aber seien Sie darauf vorbereitet, nicht länger auf die volle Standardfunktionalität der VCL zählen zu können.

0voto

GolezTrol Punkte 111587

Versuchen Sie, den Zustand des Formulars auf fsAlwaysOnTop einzustellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X