我写了一个小程序(单窗体),在关闭这个程序时(就是点击右上交的叉)时出现一个MsgBox("sure?",vbyesno)
问题:这时如果点击no就停止关闭程序,并且要求窗体中的Text控件里的内容保留下来。不知道在UnLoad_Sub里怎么写,用哪个函数?

解决方案 »

  1.   

    Dim TextBoxChanged As BooleanPrivate Sub Form_Load()
        If Len(Dir("DATA.TXT")) Then ReadFile
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        If TextBoxChanged Then
            Dim YorN As Long
            YorN = MsgBox("要保存吗?", vbYesNo Or vbQuestion)
            If YorN = vbYes Then SaveFile
        End If
    End SubSub ReadFile()
        Dim fn As Long, tmp As String
        fn = FreeFile: tmp = Space(FileLen("DATA.TXT"))
        Open "DATA.TXT" For Binary As #fn
            Get #fn, 1, tmp
        Close #fn
        Text1.Text = tmp
        TextBoxChanged = False
    End SubSub SaveFile()
        Dim fn As Long: fn = FreeFile
        If Len(Dir("DATA.TXT")) Then Kill "DATA.TXT"
        Open "DATA.TXT" For Binary As #fn
            Put #fn, , Text1.Text
        Close #fn
    End SubPrivate Sub Text1_Change()
        TextBoxChanged = True
    End Sub
      

  2.   

    Private Sub Form_Unload(Cancel As Integer)
    Dim i As Integer
    i = MsgBox("确实要关闭吗?", vbYesNo, "选择")
    If i = vbNo Then Cancel = 1
    End Sub
      

  3.   

    Private Sub Form_Unload(Cancel As Integer)
        If MsgBox("是否关闭?", vbInformation + vbYesNo, "关闭") = vbNo Then
            Cancel = True
        End If
    End Sub