在Form_Resize前加一句:
If me.windowstate=1 then exit sub 或加一句:ON Error Resume Next就能解决了

解决方案 »

  1.   

    tonton 等问题结束,我给你十分如果谁能再告诉我为什么,我再给十分!
      

  2.   

    将Form_Resize里的代码贴上来看看
      

  3.   

    WindowState属性表示窗体的状态,大概1表示最小化(隐藏到任务兰),0表示非最小化也非最大化(就是普通状态,这是可随意调整其大小),所以最小化之后,WindowState属性改变。我想你的Resize事件代码所作的事大概要在WindowState属性为普通状态是才有效。
      

  4.   

    From_ResizeOn Error Resume Next
    Text1.Width = Me.ScaleWidth
    Text1.Height = Me.ScaleHeight - 330
    StatusBar1.Panels(2).Width = Form1.Width - 7800
      

  5.   

    在最上加:On Error Resume Next
      

  6.   

    加上 On Error Resume Next 就行了!
      

  7.   

    我告诉你为什么。
    因为最小化后,窗体的width和HEIGHT变成0,
    而你将
    Text1.Height = Me.ScaleHeight - 330
    这样Text1.height成了负数,当然就是“无效属性值”了。
      

  8.   

    灌木丛得没错。当最小化时一般不需要我们去处理控件的大小和位置(因为看不见),
    所以再加上任何的得理控件大小和位置的代码也是多余,而且还会引发错误。因此,使用 On Error Resume Next 来处理最小化并不是可取的。Private Sub Form_Resize()   Select Case Me.WindowState
       Case 0
           'DoSomething
       Case 1
           Exit sub
       Case 2
           'DoAnotherThing
       End SelectEnd Sub我认为这样子做是最好的。
      

  9.   

    我认为用On Error Resume Next 较可取,因为当Me.WindowState<>1 时
    Me.ScaleHeight-330 <0时也会出错
      

  10.   

    当WIDTH、HEIGHT这样的属性如果是负数就出错。