Dim x As Double, y As Double, c As Double
  x = Form1.ScaleWidth / 2
  y = Form1.ScaleHeight / 2
  r = 1000
  Circle (x, y), r, vbRed
这段代码为什么不能在窗体的load事件中完成?

解决方案 »

  1.   

    你把窗体整个时间从载入到关闭,你会发现事件发生顺序是:
    Initialize
    Load
    Resize
    Active
    Paint
    QueryUnload
    Unload
    Terminate
    看清楚你在Load事件前后相关的事件再看你这段代码
     x = Form1.ScaleWidth / 2
      y = Form1.ScaleHeight / 2
    在这2句话里面使用到form1的ScaleWidth属性。再看Load后的Resize,在Resize,只有完成resize事件,form才会有自己的长度,高度
    load只是载入内存,实际在resize没完成之前 Form1.ScaleWidth这些数值都是=0,是0的话,你觉得能是什么效果呢?
      

  2.   

    放到Active事件里就可以执行了...