Ausblenden von Formen auf-startup: warum macht das nicht.Hide() hide my form?
Wollte ich ausblenden Hauptfenster meiner app beim Start, so dass ich diese im Konstruktor:
this.Hide();
Dies nicht darüber hinwegtäuschen, meine form aber. Wie es scheint, nur kann ich Schaltflächen zum ausblenden der form. Mache ich etwas falsch hier?
- mögliche Duplikate von diese.Sichtbar ist, funktioniert nicht in Windows-Forms
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie diese Zeile von code. Es wird sich nicht verstecken, aber es wird minimiert:
darüber hinaus, wenn Sie nicht wollen, es zeigt auf der task-Leiste entweder, Sie können fügen Sie diese Zeile:
Aber warum schaffen Sie das Formular aus, wenn Sie nicht wollen, dass es sichtbar sein in den ersten Platz?
this.Hide()
eigentlich nicht verstecken, das Formular beim Aufruf aus dem Formular-Konstruktor?Load
Ereignis, so dass ich das Fenster verstecken Sie richtig mitthis.Hide()
sobald das Formular geladen wurde. Danke!Nur das überschreiben der OnVisibleChanged Methode und ändern Sie die Sichtbarkeit der form in der es so etwas wie dieses:
... Und das ist es! Einfach und sauber.
Wenn Sie lieber mit diesem.Ausblenden oder diese.Zeigen Sie dies tun können
Habe ich versucht, dies durch die Einstellung Visible auf false ein, oder verstecken sich im Konstruktor und in das OnLoad-Ereignis.
Keiner von diesen hatte, keine Wirkung, als das Formular zu sehen ist, nachdem die form erstellt wird und nach dem OnLoad-Ereignis ausgelöst wird, in SetVisibleCore.
Einstellung der form versteckt in dem Gezeigten Fall funktioniert, aber die form flackert auf dem Bildschirm für einen moment.
Können Sie auch außer Kraft setzen, die SetVisibleCore und setzen Sie den Wert auf false, aber dann OnLoad ist nicht gefeuert, um einige der anderen Ereignisse sind Durcheinander, wie die form schließen.
Die beste Lösung meiner Meinung nach ist, um die form zu minimieren und nicht in der Taskleiste erscheint, bevor die aufrufende Anwendung.Run().
Also statt:
tun:
Dann die Anwendung ausführen, mit der richtigen Ereignisse ausgelöst (auch OnShown), und das Formular wird nicht angezeigt.
Wenn Sie wollen in der Lage sein, anzeigen /verstecken der form wie normal nach, dann müssen Sie legen Sie die WindowState-und ShowInTaskbar wieder Normal und wahr.
In dem Gezeigten Fall, in dem Sie festlegen können, ShownInTaskbar true zurück, und dann richtig zu verstecken, die form.
...
Einstellungen die WindowState wieder Normal, während die form verborgen ist, hat keine Wirkung, so müssen Sie es tun, nachdem Sie die form wieder, sonst das Symbol wird in der Taskleiste angezeigt aber die form wird minimiert.
Versuchen Sie die visible-Eigenschaft des Formulars auf false, bevor es geladen ist, in der Haupteinstiegspunkt der Anwendung.
Oder versuchen Sie, die Koordinaten der form an eine höhere Lage wie 9000, 9000.