我用一个窗体自制了一个提示框,当点击是让程序做出反应,例如:
自定的函数为
Public Sub ShowMsg(title As String, msg As String, sel As Boolean, wrong As Boolean)
    FrmMsg.Show
    FrmMsg.Caption = title
    FrmMsg.LblMsg.Caption = msg
    If sel = True Then
        
        FrmMsg.CmdCancel.Visible = True
        
    Else
        FrmMsg.CmdCancel.Visible = False
    
    End If
    If wrong = True Then
        FrmMsg.Image2.Visible = True
        FrmMsg.Image1.Visible = False
    Else
        FrmMsg.Image1.Visible = True
        FrmMsg.Image2.Visible = False
    End If
End Sub
调用时如下:Call ShowMsg("提示信息", "确实要删除选择的访问记录吗?", True, False)
        If MsgResult = True Then但是当提示窗体出来之前它就执行了后面的IF 语句,也就是IF语句根本不起作用,怎么才能让IF语句起作用。

解决方案 »

  1.   


    Public Sub ShowMsg(title As String, msg As String, sel As Boolean, wrong As Boolean)
        'FrmMsg.Show 移到下面试试
        FrmMsg.Caption = title
        FrmMsg.LblMsg.Caption = msg
        If sel = True Then
            
            FrmMsg.CmdCancel.Visible = True
            
        Else
            FrmMsg.CmdCancel.Visible = False
        
        End If
        If wrong = True Then
            FrmMsg.Image2.Visible = True
            FrmMsg.Image1.Visible = False
        Else
            FrmMsg.Image1.Visible = True
            FrmMsg.Image2.Visible = False
        End If
        FrmMsg.Show vbModal  '显示为模式窗口
    End Sub
      

  2.   

    MsgResult :哪里来的?
    用function吧为甚末这末写?
      

  3.   

    用function怎么写啊?
    function和sub有什么曲别?
      

  4.   

    Public Sub ShowMsg(title As String, msg As String, sel As Boolean, wrong As Boolean)
    If sel = True Then
            
            FrmMsg.CmdCancel.Visible = True
            
        Else
            FrmMsg.CmdCancel.Visible = False
        
        End If
        If wrong = True Then
            FrmMsg.Image2.Visible = True
            FrmMsg.Image1.Visible = False
        Else
            FrmMsg.Image1.Visible = True
            FrmMsg.Image2.Visible = False
        End If    FrmMsg.Show
        FrmMsg.Caption = title
        FrmMsg.LblMsg.Caption = msg
        
    End Sub
      

  5.   

    northwolves(野性的呼唤) 
    你给的答案不行啊。
      

  6.   

    msgresult 是一个布尔型变量,用来传递当有确定和取消两个按钮时按的是哪个键。zyl910(910:分儿,我又来了!) vbModal是什么东西啊?
      

  7.   

    vbModal意为模态窗口,掌握系统控制权~这样一来,必须要对当前窗口有所反应,才能将控制权交给下面的语句~
    记住,模态窗口一定要有退出的地方,否则你就准备按CTRL+ALT+DEL吧~
      

  8.   

    Public Sub ShowMsg(title As String, msg As String, sel As Boolean, wrong As Boolean)
        FrmMsg.Show vbModal
        FrmMsg.Caption = title
        FrmMsg.LblMsg.Caption = msg
        If sel = True Then
            
            FrmMsg.CmdCancel.Visible = True
            
        Else
            FrmMsg.CmdCancel.Visible = False
        
        End If
        If wrong = True Then
            FrmMsg.Image2.Visible = True
            FrmMsg.Image1.Visible = False
        Else
            FrmMsg.Image1.Visible = True
            FrmMsg.Image2.Visible = False
        End If
    End Sub
    调用时如下:Call ShowMsg("提示信息", "日本人确实和可恶吗?", True, False)这样应该可以了~
      

  9.   

    哈哈,你们没弄明白我的意思吧,
    我是说当窗体关闭后再执行那个IF后面的语句,就是当窗体出来的时候程序不执行IF下面的语句。
      

  10.   

    是你自己没看懂将“FrmMsg.Show vbModal”放在那个IF的前面