2017-05-03 2 views
0

Ich habe eine C# Winforms-Anwendung mit einem Startdialog mit fester Größe. Nachdem Sie einige Änderungen vorgenommen haben, die nichts mit diesem Formular zu tun haben, wird das Formular jetzt maximiert geöffnet und füllt den gesamten Bildschirm mit dem eigentlichen Inhalt in der normalen Größe in der oberen linken Ecke aus. Wenn Sie die Titelleiste mit der Maus etwas nach unten ziehen, wird die entsprechende Größe wiederhergestellt.App öffnet maximiert, wenn es nicht sollte

Die Form hat

MaximizeBox = False 
StartPosition = CenterScreen 
FormBorderStyle = Fixed3D 

Hat jemand irgendwelche Vorschläge haben, was es sein könnte verursacht maximiert zu öffnen, und wie es zu stoppen?

Edit:

WindowState = Normal 

wird ebenfalls gesetzt.

Edit 2:

fand ich das Problem. Meine Update-Routine war den ursprünglichen Prozess heruntergefahren, so dass es (unpassend, aber das ist ein anderer Fehler) aktualisiert werden kann, dann ist es mit dem Code Neustart ich von woanders ausgeliehen hatte, und einen Teil dieses Neustart Code war:

process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; 

Danke für die Hilfe. Obwohl keine direkte Antwort gegeben wurde (noch mit den pickeligen Informationen erwartet), hat es mich in die richtige Richtung gezeigt.

+2

Was sind die "nicht verwandten" Änderungen. Diese 3 Codezeilen (wenn sie in einem Konstruktor- oder Loadereignis ausgeführt werden) scheinen in Ordnung zu sein. Sie sollten auch sicherstellen, dass der WindowState des Formulars nicht WindowState.Maximized ist. – Skintkingle

+0

'MaximizeBox' zeigt an, dass die Schaltfläche "Maximieren" angezeigt wird. Überprüfen Sie 'WindowState' -Eigenschaft, sollte es 'Normal' sein, nicht' Maximized' – hmnzr

+0

Vielen Dank. WindowState ist normal, wie ich gerade hinzugefügt habe. Die nicht zusammenhängenden Änderungen betrafen einen Installer/Updater. –

Antwort

0

Das zu maximierende Fenster wird normalerweise in den Formularen "WindowState", Light Reading festgelegt. Sie müssen dies auf WindowState.Normal setzen. Es ist möglich, dass jemand es im Designer maximiert hat? oder woanders im Code. Die 3 Codezeilen, die Sie gezeigt haben, sind nicht das Problem.

Edit:

Sie müssen einige Untersuchung tun, wenn Sie uns Code aus Ihrer Form geben kann nicht, Haken in einige Ereignisse Größe ändern, und sehen, was es weg ausgelöst wird. Formulare werden nicht maximiert gestartet, es sei denn, sie werden dazu aufgefordert, und ein Fenster maximiert ein Größenänderungs-Ereignis.

+0

Wie ich hinzugefügt habe, nachdem Sie diese Antwort gestartet haben, WindowState = Normal. Aber danke. –

Verwandte Themen