У меня странная проблема при отображении пользовательской формы на двух экранах с разными размерами (хотя они оба 1920 x 1080)
Так что я подключил свой 17 "ноутбук к монитору Samsung 27" .
Я использую очень известный код при инициализации:
Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Left = Application.Left + (0.5 * Application.Width) - (0.5 * Me.Width)
Me.Top = Application.Top + (0.5 * Application.Height) - (0.5 * Me.Height)
End Sub
Это работает, как и должно, если я подключаю 2 монитора к ноутбуку и закрываю ноутбук.
Однако, если мой ноутбук открыт и я загружаю пользовательскую форму, все элементы управления кажутся не на своем месте. Дело в том, что это происходит только тогда, когда приложение активно на мониторе, если оно открыто на ноутбуке, все отображается правильно
Изображение режима дизайна:
Когда пользовательская форма загружена, она выглядит следующим образом:
Когда я перетаскиваю пользовательскую форму вокруг (всего 1 пиксель), пользовательская форма показывает правильно:
Есть ли способ исправить это? Я попробовал несколько вещей, таких как переустановка ширины и высоты каждого элемента управления при инициализации по кодам и т. Д., Но безуспешно.
Оглядывался в Google около 3 часов и не мог найти какой-либо способ помочь мне.
может, у вас, у Про, есть решение для магов c?
Заранее спасибо, С уважением!