Gibt es fertigen Code für einen selbstgebauten FileDialog in VB.NET 2003 und wie lautet dieser?

Antwort

Für VB.NET 2003 gibt es keinen offiziellen, fertigen Code für einen komplett selbstgebauten FileDialog, da normalerweise der Standarddialog (`OpenFileDialog`, `SaveFileDialog`) verwendet wird. Möchtest du jedoch einen eigenen, einfachen FileDialog bauen, kannst du ein eigenes Formular mit Steuerelementen wie `ListBox`, `TextBox` und `Button` verwenden. Hier ein sehr einfaches Beispiel für einen selbstgebauten Open-File-Dialog in VB.NET 2003: **1. Neues Formular erstellen (z.B. "MyFileDialog")** Füge folgende Steuerelemente hinzu: - `ListBox` (Name: `lstFiles`) - `TextBox` (Name: `txtPath`) - `Button` (Name: `btnOpen`, Text: "Öffnen") - `Button` (Name: `btnCancel`, Text: "Abbrechen") **2. Code für das Formular:** ```vbnet Imports System.IO Public Class MyFileDialog Public SelectedFile As String = "" Private Sub MyFileDialog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txtPath.Text = "C:\" LoadFiles(txtPath.Text) End Sub Private Sub LoadFiles(ByVal path As String) Try lstFiles.Items.Clear() For Each dir As String In Directory.GetDirectories(path) lstFiles.Items.Add("<DIR> " & Path.GetFileName(dir)) Next For Each file As String In Directory.GetFiles(path) lstFiles.Items.Add(Path.GetFileName(file)) Next Catch ex As Exception MessageBox.Show("Fehler: " & ex.Message) End Try End Sub Private Sub lstFiles_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstFiles.DoubleClick If lstFiles.SelectedItem Is Nothing Then Exit Sub Dim item As String = lstFiles.SelectedItem.ToString() If item.StartsWith("<DIR> ") Then txtPath.Text = Path.Combine(txtPath.Text, item.Substring(6)) LoadFiles(txtPath.Text) Else SelectedFile = Path.Combine(txtPath.Text, item) Me.DialogResult = DialogResult.OK Me.Close() End If End Sub Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click If lstFiles.SelectedItem Is Nothing Then Exit Sub Dim item As String = lstFiles.SelectedItem.ToString() If Not item.StartsWith("<DIR> ") Then SelectedFile = Path.Combine(txtPath.Text, item) Me.DialogResult = DialogResult.OK Me.Close() End If End Sub Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click Me.DialogResult = DialogResult.Cancel Me.Close() End Sub End Class ``` **3. Verwendung im Hauptformular:** ```vbnet Dim dlg As New MyFileDialog() If dlg.ShowDialog() = DialogResult.OK Then MessageBox.Show("Ausgewählte Datei: " & dlg.SelectedFile) End If ``` **Hinweis:** Dies ist ein sehr einfaches Beispiel und bietet keine Filter, keine Navigation nach oben, keine Dateityp-Filter usw. Für produktive Anwendungen empfiehlt sich die Nutzung des Standarddialogs oder eine umfangreichere Eigenentwicklung. Weitere Informationen zu VB.NET findest du z.B. auf [Microsoft Learn](https://learn.microsoft.com/de-de/dotnet/visual-basic/).

KI fragen

Verwandte Fragen

Warum erzeugt thumb.Dispose() in VB.NET 2003 nach Verwendung den Fehler 'ungültige Parameter verwendet'?

Der Fehler „Ungültige Parameter verwendet“ beim Aufruf von `thumb.Dispose()` in VB.NET 2003 (bzw. .NET Framework 1.1) tritt häufig auf, wenn das `thumb`-Objekt (vermutlich ein `S... [mehr]

Wann und wie muss man in VB.NET 2003 ein erstelltes Thumbnail disposen?

In VB.NET 2003 (also .NET Framework 1.1) ist das Ressourcenmanagement bei Objekten wie Bildern und Thumbnails besonders wichtig, da diese oft nicht verwaltete Ressourcen (z.B. GDI-Handles) verwenden.... [mehr]

Wie erstelle ich in VB.NET 2003 ein Thumbnail eines Bildes zur Weiterverwendung?

Um in VB.NET 2003 ein Thumbnail eines Bildes zu erstellen und zur Weiterverwendung bereitzustellen, kannst du die Methoden der `System.Drawing`-Bibliothek nutzen. Hier ein einfaches Beispiel, wie du e... [mehr]

Was ist der Unterschied zwischen frm.Resize und frm.SizeChanged in VB.NET 2003?

In VB.NET 2003 gibt es einen wichtigen Unterschied zwischen den Ereignissen `Resize` und `SizeChanged` eines Formulars (`Form`): **1. Resize-Ereignis (`frm.Resize`):** - Dieses Ereignis wird ausgel&o... [mehr]

Was ist das Gegenteil von Path.Combine(...) in VB.NET 2003?

In VB.NET 2003 ist das Gegenteil von `Path.Combine(...)` das Zerlegen eines zusammengesetzten Dateipfads in seine Einzelteile (Verzeichnisse und Dateiname). Während `Path.Combine` mehrere Teile z... [mehr]

Gibt es ‚Path.GetFileName‘ in VB.NET 2003?

Richtig, in VB.NET 2003 (also .NET Framework 1.1) gibt es die Methode `Path.GetFileName` bereits, aber möglicherweise hast du einen Fehler im Code oder im Import der Namespaces. So funktioniert... [mehr]

Gibt es einen Weg, die Dateiansicht (View) aus einer VB.NET 2003-App heraus zu ändern?

Ja, es ist möglich, die Dateiansicht (View) eines Datei-Dialogs (z. B. OpenFileDialog oder SaveFileDialog) in einer VB.NET 2003-Anwendung zu ändern – allerdings nur mit Einschränk... [mehr]

Kann man in der IDE von VB.NET 2023 nachträglich den Namen der zu kompilierenden EXE-Datei ändern?

Ja, in der IDE von VB.NET (Visual Studio) kannst du den Namen der zu kompilierenden EXE-Datei nachträglich ändern. Das geht folgendermaßen: 1. **Projektmappen-Explorer öffnen:**... [mehr]

Warum werden ä, ö, ü und ß beim Speichern einer RichTextBox in VB.NET 2003 als type.plaintext nicht korrekt gespeichert?

Das Problem, dass deine `RichTextBox` in VB.NET 2003 beim Speichern als `type.plaintext` die Zeichen **ä, ö, ü** und **ß** „verschluckt“, liegt sehr wahrscheinlich an... [mehr]

Warum funktioniert in VB.NET 2003 'SelectAll' in TextBoxes nicht wie erwartet?

In VB.NET 2003 kann es vorkommen, dass die Methode `SelectAll()` bei TextBox-Steuerelementen nicht wie erwartet funktioniert, insbesondere im Zusammenhang mit bestimmten Ereignissen wieEnter`, `GotFoc... [mehr]