'支持*.txt|*.jpg|*.bmp|*.exe"文件的打开
'但只有当combo1里选择相应的文件类型后再在文件列表框里选择相应文件才能正常运行。
'我想实现的是:当这个程序运行,不用到combo1里选者,如果右边文件列表框里有支持打开的
'文件类型就可以打开。麻烦各位大虾帮我看看。谢谢啦。Private Sub Dir1_Change() 
File1.Path = Dir1.Path
End SubPrivate Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End SubPrivate Sub Combo1_click()
 Select Case Combo1.Text
  Case "所有文件(*.*)"
    File1.Pattern = "*.*"
  Case "应用程序(*.exe)"
    File1.Pattern = "*.exe"
  Case "文本文件(*.txt)"
    File1.Pattern = "*.txt"
  Case "图片(*.jpg)"
    File1.Pattern = "*.jpg"
  Case "位图(*.bmp)"
    File1.Pattern = "*.bmp"
 End Select
End Sub
Private Sub Form_Load()
Combo1.AddItem "所有文件(*.*)"
Combo1.AddItem "应用程序(*.exe)"
Combo1.AddItem "文本文件(*.txt)"
Combo1.AddItem "图片(*.jpg)"
Combo1.AddItem "位图(*.bmp)"
Combo1.ListIndex = 0
End Sub
Private Sub File1_dblClick()
Dim fileAllName As String
If Right(File1.Path, 1) = "\" Then
  fileAllName = File1.Path & File1.FileName
Else
  fileAllName = File1.Path & "\" & File1.FileName
End IfIf File1.Pattern = "*.exe" Then
  Shell (fileAllName)
ElseIf File1.Pattern = "*.txt" Then
  Shell "notepad " & fileAllName, vbNormalFocus '调用记事本。
ElseIf File1.Pattern = "*.jpg" Or File1.Pattern = "*.bmp" Then
  Call Shell("explorer " & fileAllName, vbMaximizedFocus)
Else
  MsgBox "暂时还能运行此类型文件!本软件支持*.txt|*.jpg|*.bmp|*.exe"
End If
End Sub

解决方案 »

  1.   

    把代码改一下Private Sub File1_dblClick()
    Dim fileAllName As StringIf Right(File1.Path, 1) = "\" Then
      fileAllName = File1.Path & File1.FileName
    Else
      fileAllName = File1.Path & "\" & File1.FileName
    End IfIf LCase(Right(File1.FileName, 4)) = ".exe" Then
      Shell (fileAllName)
    ElseIf LCase(Right(File1.FileName, 4)) = ".txt" Then
      Shell "notepad " & fileAllName, vbNormalFocus '调用记事本。
    ElseIf LCase(Right(File1.FileName, 4)) = ".jpg" Or LCase(Right(File1.FileName, 4)) = ".bmp" Then
      Call Shell("explorer " & fileAllName, vbMaximizedFocus)
    Else
      MsgBox "暂时还能运行此类型文件!本软件支持*.txt|*.jpg|*.bmp|*.exe"
    End If
    End Sub