Starten einer WinForm-Anwendung, die auf die Taskleiste minimiert ist
Beim Erstellen einer WinForm-Anwendung, die auf die Taskleiste minimiert ist, können Probleme beim Starten der App auftreten minimiert. Dies kann zu sichtbaren Titelleistenartefakten oder fehlerhaftem Verhalten beim Starten der App führen.
Problem: App wird minimiert, erscheint aber in Alt-Tab
Um dieses Problem zu beheben, ändern Sie die FormBorderStyle-Eigenschaft zu einer der ToolWindow-Optionen. Dies kann jedoch zu einem neuen Problem führen, bei dem die Titelleiste beim minimierten Start der App vorübergehend sichtbar wird.
Lösung: SetVisibleCore() überschreiben
Der empfohlene Ansatz zum Starten der Wenn die App ohne sichtbare Artefakte minimiert wird, muss die Methode SetVisibleCore() überschrieben werden. Hier ist eine Implementierung:
protected override void SetVisibleCore(bool value) { if (!allowVisible) { value = false; if (!this.IsHandleCreated) CreateHandle(); } base.SetVisibleCore(value); }
In diesem Beispiel stellt das Flag allowVisible sicher, dass das Formular nur sichtbar ist, wenn der Benutzer es explizit anfordert.
Formular behandeln Schließen
Um zu verhindern, dass die App im minimierten Zustand über die Taskleiste oder die Alt-Tab-Taste geschlossen wird, überschreiben Sie das OnFormClosing() Methode:
protected override void OnFormClosing(FormClosingEventArgs e) { if (!allowClose) { this.Hide(); e.Cancel = true; } base.OnFormClosing(e); }
Das Flag allowClose stellt sicher, dass das Formular nur geschlossen wird, wenn der Benutzer dies explizit anfordert.
Zusätzliche Überlegungen
Beachten Sie, dass die Das Laden-Ereignis wird erst ausgelöst, wenn das Formular zum ersten Mal angezeigt wird. Führen Sie daher die Initialisierung im Konstruktor des Formulars durch und nicht im Load-Ereignishandler.
Das obige ist der detaillierte Inhalt vonWie starte ich eine auf die Taskleiste minimierte WinForms-App ohne Artefakte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!