解决窗体内控件Frame超长、超宽时的居中问题——试总结
下面(1)-(6)是偶在几个论坛上网友对控件居中提出的几个方案,而(7)是个成功的方案;
这说明,如果控件超长或超宽,仅对窗体设置在屏幕中的居中是不够的,而是要考虑到控件在窗体(屏幕)的居中问题。可是控件“Frame”的属性中就没有居中属性“StartUpPosition(2-屏幕中心)”这一项;
而且这组居中代码应该放在Private Sub Form_Resize()中;而不是放在Private Sub Form_Load()中;
此总结如有不妥,请大家指正!
(1)
Private Sub Form_Load()
Frame1.Left = (Me.ScaleWidth - Frame1.Width) / 2
Frame1.Top = (Me.ScaleHeight - Frame1.Height) / 2
End Sub
(2)
在窗口布局上面找到那个窗口,点右键-》启动位置
选 屏幕中心
(3)
Frame1.Left = (Me.ScaleWidth - Frame1.Width) / -2
(4)
frame.left=form1.left-具体值自己调整下.!
frame.left=form1.width-具体值自己调整下.!
(5)
Private Sub Form_Resize()
Frame1.Left = (ScaleWidth - Frame1.Width) / 2
End Sub
(6)
frame.left=(form.width-frame.width)/2
frame.top=(form.height-frame.height)/2
以上几个方案frame控件居中均失败
(7)frame控件居中成功方案
Private Sub Form_Resize()
Frame1.Left = (Me.ScaleWidth - Frame1.Width) / 2 'frame控件超长时,左右方向居中仅用句即可;
Frame1.Top = (Me.ScaleHeight - Frame1.Height) / 2 '如果frame控件超宽时,上下方向的居中可用此句;
End Sub