当在双屏幕上显示不同大小的用户表单时,我遇到了这个奇怪的问题(即使它们都是1920x1080)
因此,我将我的17英寸笔记本电脑连接到三星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个像素)时,用户表单可以正确显示:
有什么办法可以解决这个问题吗?我尝试了几种方法,比如在initialize上重新设置每个控件的宽度和高度,codewise等等,但都没有成功。
我在谷歌上看了大概3个小时,还是找不到任何方法来帮助我。
也许一个你专业的人有神奇的解决方案?
提前感谢,致以亲切的问候!
发布于 2020-03-26 23:45:59
FaneDuru建议起作用了,但是您需要将代码放在activate事件中,而不是放在initialize事件中
https://stackoverflow.com/questions/60869693
复制相似问题