Wie man das Startformular anfänglich unsichtbar oder versteckt macht
Ich habe ein GUI-Projekt mit 2 Formular und die Formulare müssen separat angezeigt werden. Wenn Formular 1 angezeigt wird, müssen alle anderen Formulare ausgeblendet werden.
Ich kann alle anderen Formulare ausblenden, aber ich kann das Startformular nicht ausblenden.so, dass das Symbol meiner Anwendung in der Taskleiste angezeigt wird.
Beispielsweise führen Firewall- / Antivirus- und Instant-Messaging-Anwendungen dies aus, um im Hintergrund ausgeführt zu werden und dennoch für den Benutzer über die Taskleiste zugänglich zu sein.
Ich vermute, dass Sie fragen, wie Sie das Formular nicht in der Taskleiste erscheinen lassen und nur in der Taskleiste angezeigt werden, genau wie eine IM oder ein Anti-Virus?
Wenn ja, setzen Sie einfach die Eigenschaft ShowInTaskbar
von Form
auf false
.
Um das ursprüngliche Formular unsichtbar zu machen, müssen Sie ein verwenden ApplicationContext
in Application.Run
anstelle des Hauptformulars.
Setzen Sie die Eigenschaft ShowInTaskbar auf false und setzen Sie WindowState auf
Microsoft hat dazu eine Webseite geschrieben. Es gibt ein Beispiel für die Verwendung von ApplicationContext
. Im Grunde haben Sie statt einer Formularanwendung eine App, die Main()
und Main
ausführt und dann die Formulare öffnet.
Sie verlieren jedoch auf diese Weise die Funktionalität, weil Sie das "Anwendungsframework" deaktivieren müssen. Es wird Ihr Windows hässlich machen.
Hier ist eine andere Lösung, fast ein Hack, aber nicht so schlecht. Wenn Windows die Formularanwendung startet und Visible
auf "True" setzt, wird ein Aufruf von " SetVisibleCore
" ausgelöst. Sie können diese Funktion überschreiben. Wenn% ce_de% zum ersten Mal aufgerufen wird, setze es auf false. Von da an pass einfach auf.
Beachten Sie, dass SetVisibleCore
nicht beim Start Ihrer App ausgelöst wird, wenn das Formular nicht angezeigt wird, also verschieben Sie den gesamten Code dorthin in Form.Load
.
Hier ist die ganze Sache:
%Vor%