改变窗体大小后如何让控件仍居中显示

我的窗体上有几个fram,控件分别放在不同的fram中,窗体大小改变(最大化、最小化)后,如何继续让里面的控件居中显示?1楼的大哥给出了一个思路,但是如果控件是放在fra... 我的窗体上有几个fram,控件分别放在不同的fram中,窗体大小改变(最大化、最小化)后,如何继续让里面的控件居中显示?
1楼的大哥给出了一个思路,但是如果控件是放在fram或者sstab中的,那么它的位置参数是不变的,
Debug.Print Me.Controls(i).Name & " " & Controls(i).top & " " & Controls(i).left & " " & Controls(i).height & " " & Controls(i).width
把这句代码放入循环中就可以看出。另外
MeWidth = Me.ScaleWidth
MeHeight = Me.ScaleHeight
这两句好像没有用啊?

2楼的说的table是什么东西我根本就没弄明白。
展开
 我来答
s68651521
推荐于2016-05-25 · TA获得超过3.2万个赞
知道小有建树答主
回答量:674
采纳率:0%
帮助的人:422万
展开全部
不需要一直在死胡同裏走

可以换个思路考虑

现在你只是想让控件一直保持在程序的最中央是吧?

那就在ReSize事件裏 写上移动控件位置的代码就好了啊

举个例子

原来程序的窗体 高度300 x 宽度400
有一个按钮 大小是 高度30 x 宽度80
那要把这个按钮移动到中间 只需要
Private Sub Form_Resize()
Command1.Top = (Form1.ScaleHeight - Command1.Height) / 2
Command1.Left = (Form1.ScaleWidth - Command1.Width) / 2
End Sub

代码写成这样 是为了更好地显示原理
你可以先试下这段代码 看看是不是已经实现了你想要的功能?

代码还可以稍微简化下
Private Sub Form_Resize()
Command1.Move (Form1.ScaleWidth - Command1.Width) / 2, (Form1.ScaleHeight - Command1.Height) / 2
End Sub

还有你说的 在Frame或者其他容器中 也可以很容易的解决的
在Form_Resize()过程中 先把这个容器的大小修改到跟窗体一样的比例 就可以了

还是上面那个例子
现在添加一个Frame 然后把Command控件放进这个Frame裏
代码如下:
Private Sub Form_Resize()
Frame1.Left = 60
Frame1.Top = 30
Frame1.Width = Form1.ScaleWidth - 120
Frame1.Height = Form1.ScaleHeight - 120
Command1.Move (Frame1.Width - Command1.Width) / 2, (Frame1.Height - Command1.Height) / 2
End Sub

现在试试看是不是实现你的要求了

同样可以简化下:
Private Sub Form_Resize()
Frame1.Move 60, 30, Form1.ScaleWidth - 120, Form1.ScaleHeight - 120
Command1.Move (Frame1.Width - Command1.Width) / 2, (Frame1.Height - Command1.Height) / 2
End Sub

如果有很多个Frame的话 你自己Frame所占的窗体大小的比例 就可以了.
yuhali
2009-02-05 · 超过24用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:72.8万
展开全部
把控件放到table里,设置水平对齐方式为center,垂直对其方式为middle即可。

我看错了,以为是web开发了。你所说的控件居中,我不明白什么意思。但有一点,我觉得vb里,并没提供像java那样的布局管理器,你所说的窗体变化,而控件的布局不变,实现起来很费事,大可不必在这上面费功夫,不如把最大化按钮给失效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式