Code: Select all
Form1 form = new Form1();
form.Show();
form.StartPosition = FormStartPosition.Manual;
form.Location = new System.Drawing.Point(100,100);
Für mich sieht es so aus, als ob die Show()-Methode asynchron ist und immer die neue Position meines Fensters neu schreibt, wenn sich dieses Fenster außerhalb des „Hauptmonitors“ befindet.
Bearbeiten:
Ich habe drei Monitore. Der Hauptmonitor befindet sich in der Mitte. Das Hauptfenster meiner Anwendung befindet sich auf dem mittleren Monitor. Der mittlere und rechte Monitor haben die gleiche Auflösung und Skalierung. Beide haben eine Auflösung von 2560 x 1440 und sind horizontal angepasst.
.NET Framework 4.8
Form1 ist das Standardformular und hat keinen zusätzlichen Code.
Code: Select all
There is SystemInformation.VirtualScreen info:
Left top (X, Y): (-1920, 0)
width: 7040 px
height: 1440 px
Rigth button (Right, Bottom): (5120, 1440)
Mein Code für die Position von Form1
Code: Select all
Form1 form = new Form1();
form.StartPosition = FormStartPosition.Manual;
form.Show();
form.Location = new System.Drawing.Point(2500, 500);
Aber die ShowDialog()-Methode funktioniert gut über den gesamten Bereich des virtuellen Bereichs.
Wie platziere ich ein Fenster an einer beliebigen Stelle mit der Show()-Methode?
Mobile version