如何使子窗体始终显示在主窗体的正中间

kindy0301 2008-01-09 02:49:52
我想让一个弹出的子窗体始终显示在主窗体的正中间,不管主窗体在哪个位置!
请高手给个解例!
谢谢
...全文
253 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Abyss-Xu 2008-01-09
  • 打赏
  • 举报
回复
设置StartUpPosition=1
不管主窗体移到那里子窗体都在屏幕的中间
jieweibin 2008-01-09
  • 打赏
  • 举报
回复
MDI下的子窗体的StartUpPosition默认只能是0,不能改的,除非它不属于MDI
Abyss-Xu 2008-01-09
  • 打赏
  • 举报
回复

Private Sub Command1_Click()

Form2.Top = Form1.Top + (Form1.Height - Form2.Height) / 2
Form2.Left = Form1.Left + (Form1.Width - Form2.Width) / 2
Form2.Show

End Sub
kindy0301 2008-01-09
  • 打赏
  • 举报
回复
郁闷哦!
原来设置属性StartUpPosition=1就能实现了!
谢谢大家了!
xieyudada 2008-01-09
  • 打赏
  • 举报
回复
设这个属性,子窗体不行,普通窗体可以。听我的,没错。呵呵……
TomyChoi 2008-01-09
  • 打赏
  • 举报
回复
设置窗体的这个属性不行吗:StartUpPosition=2
xieyudada 2008-01-09
  • 打赏
  • 举报
回复
If MDIForm1.Width - 200 - Me.Width > 0 Then Me.Left = (MDIForm1.Width - 200 - Me.Width) / 2 Else Me.Left = 0 '设置子窗体的显示位置。
If MDIForm1.Height - 2080 - Me.Height > 0 Then Me.Top = (MDIForm1.Height - 2080 - Me.Height) / 2 Else Me.Top = 0
kindy0301 2008-01-09
  • 打赏
  • 举报
回复
我试过 子窗体并不能显示在主窗体的正中间!
还是谢谢2楼朋友
jieweibin 2008-01-09
  • 打赏
  • 举报
回复
Sub LoadMe(Source As Form)
Source.top = (MDIForm1.ScaleHeight - Source.Height) / 2
Source.Left = (MDIForm1.ScaleWidth - Source.Width) / 2
End Sub

Private Sub Form_Load()
Height = 3885: Width = 4800 '定义好子窗体的高度和宽度
LoadMe Me '居中显示
End Sub

7,785

社区成员

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

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