Ich arbeite an VS 2008 mit C #. Dieser unten stehende Code funktioniert bei mir nicht. Mein Formular wurde in einer Auflösung von 1024 x 768 erstellt.
Unser Kunden-Laptop hat eine Auflösung von 1366 x 768. Um dieses Problem zu lösen, habe ich den folgenden Code im Form Load-Ereignis festgelegt:
this.Location = new Point(0, 0);
this.Size = Screen.PrimaryScreen.WorkingArea.Size;
die Größe des Formulars wird jedoch nicht gemäß der Bildschirmauflösung und dem unteren Rand meines Formulars geändert wird ausgeblendet oder ausgeschnitten oder ich vermisse die Bildlaufleiste.
Gibt es eine Möglichkeit, dieses Problem zu lösen? Bitte zeigen Sie mir die Syntax. Danke im Voraus
Kannst du nicht maximiert anfangen?
Setze das System.Windows.Forms.Form.WindowState
Eigentum an FormWindowState.Maximized
Wenn Sie die Formulargröße programmgesteuert festlegen möchten, setzen Sie die Eigenschaft StartPosition
des Formulars auf Manual
. Andernfalls stört der Positionierungs- und Bemaßungsalgorithmus des Formulars Ihren. Aus diesem Grund treten bei Ihnen die in Ihrer Frage genannten Probleme auf.
Beispiel: So ändern Sie die Größe des Formulars auf die Hälfte zwischen der ursprünglichen Größe und der Größe des Arbeitsbereichs des Bildschirms. Ich zentriere das Formular auch im Arbeitsbereich:
public MainView()
{
InitializeComponent();
// StartPosition was set to FormStartPosition.Manual in the properties window.
Rectangle screen = Screen.PrimaryScreen.WorkingArea;
int w = Width >= screen.Width ? screen.Width : (screen.Width + Width) / 2;
int h = Height >= screen.Height ? screen.Height : (screen.Height + Height) / 2;
this.Location = new Point((screen.Width - w) / 2, (screen.Height - h) / 2);
this.Size = new Size(w, h);
}
Beachten Sie, dass die Einstellung von WindowState
auf FormWindowState.Maximized
Allein die Größe des wiederhergestellten Fensters nicht ändert. So kann das Fenster gut aussehen, solange es maximiert ist, aber wenn es wiederhergestellt wird, können Größe und Position des Fensters immer noch falsch sein. Daher empfehle ich, Größe und Position auch dann festzulegen, wenn Sie das Fenster maximiert öffnen möchten.
Möglicherweise hilft ein maximiertes Formular, oder Sie können dies beim Laden des Formulars manuell tun:
Codeblock
this.Location = new Point(0, 0);
this.Size = Screen.PrimaryScreen.WorkingArea.Size;
Spielen Sie dann mit der Verankerung, damit die untergeordneten Steuerelemente in Ihrem Formular automatisch in die neue Größe Ihres Formulars passen.
Hoffe das hilft,
Legen Sie fest, dass die Formulareigenschaft im maximierten Zustand geöffnet wird.
this.WindowState = FormWindowState.Maximized;
int h = Screen.PrimaryScreen.WorkingArea.Height;
int w = Screen.PrimaryScreen.WorkingArea.Width;
this.ClientSize = new Size(w , h);
Sie können einfach den Fensterstatus festlegen
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
setzen Sie einfach Autoscroll = true
für Ihr Windows-Formular (es ist keine gute Lösung, aber hilfreich).
versuchen Sie es auch für panel (Autoscroll
property = true
)
Sie können jederzeit festlegen, dass das Fenster maximiert gestartet werden soll. Es sollte dasselbe Ergebnis liefern. Beispiel: this.WindowState = FormWindowState.Maximized;
P.S. Sie können auch versuchen (und ich empfehle dies nicht), die Höhe der Taskleiste zu subtrahieren.