VB中使窗体在中间

为什么在VB中使窗体在点击运行时显示在中间,代码为:
Private Sub Form_Load()
Form1.Move (Screen.Width / 2 - Form1.Width), (Screen.Height / 2 - Form1.Height)
End sub
问题是:为什么要减Form1.windth呢?屏幕的宽和高不是都除以2了么?

只是屏幕的宽和高都除以2,是你的窗体的起点(也就是窗体左上角)在屏幕中心,而不是窗体在屏幕中心
其实减去的不是Form1.windth,应该减去Form1.windth/2和Form1.Height/2

另外想窗体在屏幕中心,不要代码也可以,把窗体的属性StarUpPosition的值设置成2-所有者中心就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-22
窗体的坐标是以窗体左上角来定义的,所以就与窗体宽高有关。
不过其实你这个代码也不对,应该这样:
Form1.Move ((Screen.Width - Form1.Width) / 2), ((Screen.Height - Form1.Height) / 2)本回答被提问者采纳
第2个回答  2012-06-22
窗体在屏幕中的位置是按窗体的左上角位置来定的,不是按窗体中心位置来定,你画个图就明白了。
如果要将窗体放置于屏幕中心可以设置窗体的位置属性为屏幕中心,也可以通过代码来实现,就是你上面写出来的那一段。本回答被网友采纳
第3个回答  2012-06-22
startpostion 属性 。要减去的,以窗体的中心点做参考就好理解了
第4个回答  2012-06-25
直接调整布局窗口就行了