我程序中調用CommonDialog的openshow﹐當按取消按鈕時﹐我在程序中怎樣知道是按了確定還是取消?

解决方案 »

  1.   

    on err 怎樣處理﹖我是要在按取消時退出程序
      

  2.   

    '使用CancelError判断吧
    Private Sub Command1_Click()
        With CommonDialog1
            .CancelError = True
            On Error GoTo ErrOpen
            .ShowOpen
        End With
        Exit Sub
    ErrOpen:
        If Err.Number = cdlCancel Then MsgBox "Cancel button clicked"
    End Sub
    参见MSDN说明:
    ————————————————————————
     
    CancelError 属性
          返回或设置一个值,该值指示当选取“取消”按钮时是否出错。语法object.CancelError [= boolean]CancelError 属性语法有下列部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的对象。 
    boolean 布尔表达式,如“设置值”中所描述,用以指示是否出错。 
    设置值用于 boolean 的设置有:设置值 描述 
    True 有错。 
    False (缺省值)没错。 
    说明当该属性设置为 True 时,无论何时选取“取消”按钮,均产生 32755 (cdlCancel) 号错误。数据类型Boolean
      

  3.   

    Private Sub Form_Load()
      On Error GoTo noFile
      CommonDialog1.CancelError = True
      CommonDialog1.ShowOpen
      
      '......
      Exit Sub
    noFile:
      If Err.Number = 32755 Then
        MsgBox "按了取消键!"
        Exit Sub
      Else
        MsgBox "Unknown error in openning file" & CommonDialog1.FileName
      End If
    End Sub