我有个main窗口,里面有个newfile按钮控件,当点击它的时候,弹出新窗口winnew: 
Private Sub newfile_Click()
winnew.Show vbModal
newfile.Enabled = False
end sub
在winnew里有个" confirm" 和" cancel" 按钮.我想在点取消的时候,把newfile按钮的属性改成true,然后关闭winnew窗口Private Sub cancel_Click()
 main.newfile.Enabled = True
 Unload Me
End Sub
问题是点cancel按钮后,winnew窗口关闭了,newfile属性值却不改变。请求如何做?我的目的是1.让winnew窗口的焦点锁定,直到响应它2.点cancel后能改变newfile的属性。VB初学者,希望各位大牛提携提携!

解决方案 »

  1.   

    Private Sub newfile_Click()
    Dim winnew1 As New winnewwinnew1.Show vbModalIf winnew1.Cancel Then newfile.Enabled = FalseUnload winnew1
    Set winnew1 = NothingEnd Sub'在winnew里定义一个 Public  变量 Cancel  as boolean
     Public Cancel    As Boolean
    Private Sub cancel_Click()
        Cancel = True
        Me.Hide
    End Sub
      

  2.   

    我试验了一下别的方法:
    在标准模块中定义一个全局变量:public cont as boolean
    然后在winnew.show vbmodal 后面加上 if cont then newfile。enabled=true在winnew的cancel按钮中的代码是:cont=true  unload me只在main中的定义public变量不行,它只是某一个窗体中各个控件间的公共变量,而不是各个窗体之间的公共变量。