我在vb的窗口中使用了以下代码:
form_load()
     oldh = me.scaleheight
     oldw = me.scalewidth
end subform_resize()
     me.scalheight = oldh
     me.calewidth  = oldw
end sub
每次最小化时报错,请个位vb高手指教.不胜感激!!!!

解决方案 »

  1.   

    你首先把scaleheight的值赋值到oldh了,把scalewidth的值赋值给了oldw,在resize事件中,改变了scalheight,scalewidth的值,肯定就不能最小化了,
      

  2.   

    Dim oldh As Long, oldw As LongPrivate Sub Form_Load()
        oldh = Me.ScaleHeight
        oldw = Me.ScaleWidth
    End SubPrivate Sub Form_Resize()
        On Error Resume Next
        Me.ScaleHeight = oldh
        Me.ScaleWidth = oldw
        Err.Clear
    End Sub
      

  3.   

    顺便说一句,ScaleHeight和ScaleWidth并不能改变窗体的宽和高哦。
      

  4.   

    form_resize()
         me.scalheight = oldh
         me.calewidth  = oldw
    end sub
    你在最小化时又给他赋值当让会出错阿!
      你可以加测试看是否是最小化!不是在执行操作!!
      

  5.   

    就在这里啊
    form_resize()
         me.scalheight = oldh
         me.calewidth  = oldw
    end sub
    一旦你的窗体改变了大小,这段程序就会把窗体变回oldh和oldw,所以就不行啦。
      

  6.   

    不错,这个方法还行,给分了!
    是我的代码写的有问题
    me.width
    me.height
      

  7.   

    1. me.calewidth拼错了
    2. 修改ScaleWidth/ScaleHeight不会改变窗体大小
    3. 在最小化的时候,真正的ScaleHeight和ScaleWidth都为零,如果你此时要设置ScaleHeight的话,相当于把坐标系扩大ScaleHeight/0倍(讲得乱,不知你听懂了否),就会出现无效属性错误。