如何让frame在窗体中总是处于居中位置

JRS123 2008-02-06 01:46:27

在窗体中采用了frame控件,但软件启动后,在窗体中的frame总是偏向窗体的左边,
请问:如何才能让其总是自动处于居中位置,而不偏向一边?
在frame的属性中,可以设置该控件与窗体左端的距离,但就没有居中的设置啊.
...全文
466 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
胡伟峰 2008-02-11
  • 打赏
  • 举报
回复
cmdlang的方法比较简单,可以找到 窗体布局 的窗口,然后进行选择,连代码都不用写了~
JRS123 2008-02-10
  • 打赏
  • 举报
回复
楼上的朋友能说明白些么?

此外,本人用了Frame1.Left = (Me.ScaleWidth - Frame1.Width) / -2
分辨率在1280×1024下可以居中,但在1024×768和800×600下面就不行了,左边会有一条宽边.即使是frame和form的长宽大小一样,或一大一小也不行,哪位高手能指点一下?
cmdlang 2008-02-08
  • 打赏
  • 举报
回复
在窗口布局上面找到那个窗口,点右键-》启动位置 选 屏幕中心
用户 昵称 2008-02-08
  • 打赏
  • 举报
回复
那就用me.width,因为form本身自身有两个像素的边,scalewidth是有效窗口的宽度,而控件的位置是按窗体实际宽度定位的。
JRS123 2008-02-08
  • 打赏
  • 举报
回复
谢谢二位朋友的提示,只是本人软件上要用-2才能居中,不知何故?如:

Frame1.Left = (Me.ScaleWidth - Frame1.Width) / -2
rzysl 2008-02-07
  • 打赏
  • 举报
回复
思路:
frame.左边在 (窗体宽度-frame.宽度)/2 的位置
同理:frame.顶部在 (窗体高度-frame.高度)/2 的位置

代码和楼上写的差不多。
用户 昵称 2008-02-06
  • 打赏
  • 举报
回复
代码设置吧,大概是这样 ,手头没有 vb,试说一下看看。


Private Sub Form_Load()
Frame1.Left = (Me.ScaleWidth - Frame1.Width) / 2
Frame1.Top = (Me.ScaleHeight - Frame1.Height) / 2
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧