这种情况要分析窗体事件的执行顺序。运行时首先执行load事件,其次再执行resize事件,之所以会引起resize事件,可以理解为窗体隐含执行了一句me.show语句,而load事件改变WindowState属性值,由于此时窗体并没有实际显示出来,所以不能引起任何事件,也就是不会实际改写窗体大小属性,所以你的置中的代码看不到任何效果,只有执行了form.show方法后,窗体实际显示了,改变WindowState才会影响窗体大小变化。你把代码做如下改变就可以得到你想要的。
form1.Width=12510 '随意就画了这么大
form1.windowstate=2
form1.show
'有这一句,上一句的效果才能显现,下一句就能让按钮置中了
Command1.Left = Form1.Width / 2 - Command1.Width / 2