184 lines
8.1 KiB
VB.net
184 lines
8.1 KiB
VB.net
|
Module Modul_Tools
|
|||
|
|
|||
|
'Methonden_Index:
|
|||
|
'1.Datei- und Ordnerdialoge (Mindesanforderung: VB.Net 2005; Framework: 2.0)
|
|||
|
' 1.1 FolderBrowserDialog
|
|||
|
' 1.2 OpenFileDialog
|
|||
|
' 1.3 SaveFileDialog
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
'###################################################################################################################
|
|||
|
'############### 1.Datei- und Ordnerdialoge ########################################################################
|
|||
|
'############### http://www.vb-fun.de/dotnet/tipps/tip0212.shtml ###################################################
|
|||
|
'###################################################################################################################
|
|||
|
|
|||
|
'###################################################################################################################
|
|||
|
'############### 1.1 FolderBrowserDialog ###########################################################################
|
|||
|
'###################################################################################################################
|
|||
|
|
|||
|
Public Sub FolderBrowserDialog(ByRef sPath As String)
|
|||
|
'Verändert die übergebene variable,
|
|||
|
'wenn der benutzer durch "OK" den neuen Pfad bestätigt
|
|||
|
|
|||
|
Using fbd As New FolderBrowserDialog
|
|||
|
With fbd
|
|||
|
' Ordnervorschlag
|
|||
|
.SelectedPath = "c:\"
|
|||
|
' RootFolder verwendet man nur zum Eingrenzen auf eine _
|
|||
|
' bestimmte Ordnerebene
|
|||
|
' z.B.: .RootFolder = Environment.SpecialFolder.MyPictures
|
|||
|
|
|||
|
.Description = "Bitte einen Ordner auswählen."
|
|||
|
' Button "Neuen Ordner erstellen" anzeigen
|
|||
|
.ShowNewFolderButton = True
|
|||
|
|
|||
|
' Zeile ruft den Dialog auf, weitere Ausführung nur bei
|
|||
|
' Resultat OK:
|
|||
|
|
|||
|
If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
|||
|
sPath = .SelectedPath
|
|||
|
Else
|
|||
|
'Nothing
|
|||
|
End If
|
|||
|
End With
|
|||
|
End Using
|
|||
|
End Sub 'FolderBrowserDialog
|
|||
|
|
|||
|
'###################################################################################################################
|
|||
|
'############### 1.2 OpenFileDialog ################################################################################
|
|||
|
'###################################################################################################################
|
|||
|
|
|||
|
'Private Sub Button1_Click(ByVal sender As Object, ByVal e As _
|
|||
|
' EventArgs) Handles Button1.Click
|
|||
|
' ' ### OpenFileDialog ###
|
|||
|
' Dim txt As String = ""
|
|||
|
' Using ofd As New OpenFileDialog
|
|||
|
|
|||
|
' With ofd
|
|||
|
' ' Ordnervorschlag
|
|||
|
' .InitialDirectory = Pfad
|
|||
|
' .Title = "Wähle Datei zum öffnen"
|
|||
|
' ' Dateivorschlag (falls sinnvoll)
|
|||
|
' ' .FileName = "Datei.gif"
|
|||
|
|
|||
|
' ' Filter
|
|||
|
' .Filter = TextBox2.Text
|
|||
|
' ' boolsche Abfrage ob Mehrfachauswahl zulässig
|
|||
|
' .Multiselect = Not ChkEinzel.Checked
|
|||
|
|
|||
|
' ' Zeile ruft den Dialog auf, weitere Ausführung nur bei
|
|||
|
' ' Resultat OK:
|
|||
|
' If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
|||
|
' If ChkEinzel.Checked = True Then
|
|||
|
' ' Bei Einzelauswahl wertet man .FileName aus
|
|||
|
' txt = .FileName & vbNewLine
|
|||
|
|
|||
|
' Else
|
|||
|
' ' Bei möglicher Multiselektion wertet man
|
|||
|
' ' das Array .FileNames aus
|
|||
|
' For Each filename As String In .FileNames
|
|||
|
' txt &= filename & vbNewLine
|
|||
|
' Next
|
|||
|
' End If
|
|||
|
' ' Welcher Filter wurde verwendet?
|
|||
|
' Dim idx As Integer = .FilterIndex
|
|||
|
' txt &= "FilterIndex: " & idx.ToString & vbNewLine
|
|||
|
' txt &= "Gewählter Filter: " & FilterDescription(.Filter, _
|
|||
|
' idx) & vbNewLine
|
|||
|
' txt &= "Multiselect: " & .Multiselect.ToString
|
|||
|
' Else
|
|||
|
' txt = "Abbruch durch Benutzer"
|
|||
|
' End If
|
|||
|
' End With
|
|||
|
' End Using
|
|||
|
' TextBox1.Text = txt
|
|||
|
'End Sub 'OpenFileDialog
|
|||
|
|
|||
|
'###################################################################################################################
|
|||
|
'############### 1.3 SaveFileDialog ################################################################################
|
|||
|
'###################################################################################################################
|
|||
|
|
|||
|
'Private Sub Button2_Click(ByVal sender As Object, ByVal e As _
|
|||
|
' EventArgs) Handles Button2.Click
|
|||
|
' ' ### SaveFileDialog ###
|
|||
|
' Dim txt As String
|
|||
|
' Using sfd As New SaveFileDialog
|
|||
|
|
|||
|
' With sfd
|
|||
|
' ' Ordnervorschlag
|
|||
|
' .InitialDirectory = Pfad
|
|||
|
' .Title = "Eingabe Datei zum speichern (Es wird hier nicht "_
|
|||
|
' "wirklich überschrieben)"
|
|||
|
' ' Dateivorschlag
|
|||
|
' .FileName = "Datei.gif"
|
|||
|
' ' Filter
|
|||
|
' .Filter = TextBox2.Text
|
|||
|
|
|||
|
' ' Zeile ruft den Dialog auf, weitere Ausführung nur bei
|
|||
|
' ' Resultat OK:
|
|||
|
' If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
|||
|
' txt = .FileName & vbNewLine
|
|||
|
|
|||
|
' ' Welcher Filter wurde verwendet?
|
|||
|
' Dim idx As Integer = .FilterIndex
|
|||
|
' txt &= "FilterIndex: " & idx.ToString & vbNewLine
|
|||
|
' txt &= "Gewählter Filter: " & FilterDescription(.Filter, _
|
|||
|
' idx)
|
|||
|
' Else
|
|||
|
' txt = "Abbruch durch Benutzer"
|
|||
|
' End If
|
|||
|
' End With
|
|||
|
' End Using
|
|||
|
' TextBox1.Text = txt
|
|||
|
'End Sub 'SaveFileDialog
|
|||
|
|
|||
|
'###################################################################################################################
|
|||
|
'############### xxxxxxxxxxxxxxxxxxxxxxx ###########################################################################
|
|||
|
'###################################################################################################################
|
|||
|
|
|||
|
'Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As _
|
|||
|
' Object, ByVal e As EventArgs) _
|
|||
|
' Handles ComboBox1.SelectedIndexChanged
|
|||
|
' Dim strFilter As String
|
|||
|
' Select Case ComboBox1.SelectedIndex
|
|||
|
' Case 0
|
|||
|
' ' Einfacher Filter
|
|||
|
' strFilter = "Gif Bilddateien|*.gif"
|
|||
|
' Case 1
|
|||
|
' ' Erweiterter Filter
|
|||
|
' strFilter = "JPEG Bilddateien|*.jpg|Gif Bilddateien|*.gif|Alle Dateien|*.*"
|
|||
|
' Case Else
|
|||
|
' ' Mehrere Dateierweiterungen in einer Auswahl
|
|||
|
' strFilter = "Alle Bilddateien|*.jpg; *.jpeg; *.bmp; *.gif, *.tif|Alle Dateien|*.*"
|
|||
|
' End Select
|
|||
|
|
|||
|
' TextBox2.Text = strFilter
|
|||
|
'End Sub 'ComboBox1_SelectedIndexChanged
|
|||
|
|
|||
|
'Private Function FilterDescription(ByVal Filter As String, _
|
|||
|
' ByVal Index As Integer) As String
|
|||
|
' ' erstellt aus dem Filterstring die Bezeichnung
|
|||
|
' Dim strArr() As String = Split(Filter, "|"), _
|
|||
|
' MyList As New List(Of String)
|
|||
|
' For i As Integer = 0 To strArr.GetUpperBound(0)
|
|||
|
' If (i Mod 2 = 0) Then MyList.Add(strArr(i))
|
|||
|
' Next
|
|||
|
' Return MyList(Index - 1)
|
|||
|
'End Function 'FilterDescription
|
|||
|
|
|||
|
'###################################################################################################################
|
|||
|
'############### 1.Datei- und Ordnerdialoge ################################# ENDE #########################
|
|||
|
'############### http://www.vb-fun.de/dotnet/tipps/tip0212.shtml ###################################################
|
|||
|
'###################################################################################################################
|
|||
|
|
|||
|
|
|||
|
|
|||
|
End Module
|