Код: Выделить всё
Form1 form = new Form1();
form.Show();
form.StartPosition = FormStartPosition.Manual;
form.Location = new System.Drawing.Point(100,100);
Мне кажется, что метод Show() является асинхронным и всегда перезаписывает новое положение моего окна, когда это окно находится за пределами «основного» монитора.
редактировать:
У меня три монитора. Основной монитор находится в центре. Главное окно моего приложения находится на центральном мониторе. Центральный и правый мониторы имеют одинаковое разрешение и масштаб. Оба они имеют разрешение 2560x1440 и расположены горизонтально.
.Net framework 4.8
Form1 является формой по умолчанию и не содержит дополнительного кода.
Код: Выделить всё
There is SystemInformation.VirtualScreen info:
Left top (X, Y): (-1920, 0)
width: 7040 px
height: 1440 px
Rigth button (Right, Bottom): (5120, 1440)
Мой код для позиции form1
Код: Выделить всё
Form1 form = new Form1();
form.StartPosition = FormStartPosition.Manual;
form.Show();
form.Location = new System.Drawing.Point(2500, 500);
Но метод ShowDialog() хорошо работает во всем диапазоне виртуальной области.
Как разместить окно в любом месте с помощью метода Show()?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ain-window
Мобильная версия