| |
VB.NET - Ein- und UmsteigerTreeview und listview | | | Autor: isensa | Datum: 27.10.12 14:13 |
| Hallo zusammen
Die Fehlermeldung die ich bekomme ist:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Wie kann ich den Fehler beheben?
"new" geht auch nicht oder ich habe es falsch eingesetzt.
Private Sub TreeView1_AfterSelect(sender As System.Object, e As _
System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim directory As DirectoryInfo
directory = TreeView1.SelectedNode.Tag
Dim files = directory.GetFiles
ListView1.Items.Clear()
For Each file As FileInfo In files
ListView1.Items.Add(file.Name)
Next
End Sub | |
Re: Treeview und listview | | | Autor: keco | Datum: 27.10.12 15:33 |
| Ich behaupte, dass der Fehler bei "directory.GetFiles" liegt, weil "directory" Nothing ist. Hilfreich wäre Option Strict On zu verwenden.
Der Fehler läge, sofern meine Behauptung richtig ist, beim Zuweisen der DirectoryInfo-Objekte an die Tag-Eigenschagt eines TreeNodes. | |
Re: Treeview und listview | | | Autor: isensa | Datum: 27.10.12 18:26 |
| Hallo Keco
Der Fehler wird an dieser Position ( Dim files = directory.GetFiles) angezeigt.
Wenn ich aber den Option Strict einschalte bekomme ich den Fehler bei "directory = TreeView1.SelectedNode.Tag" angezeigt.
Fehlerliste: "Option Strict On" lässt keine impliziten Konvertierungen von Object in System.IO.DirectoryInfo zu.
Wie müsste ich den Fehler beheben? | |
Re: Treeview und listview | | | Autor: Manfred X | Datum: 27.10.12 18:55 |
| Hallo!
Dim directory As IO.DirectoryInfo
directory = CType(treeview1.SelectedNode.Tag, IO.DirectoryInfo)
If directory IsNot Nothing Then
Dim files() As IO.FileInfo = directory.GetFiles
listview1.Items.Clear()
For Each file As IO.FileInfo In files
listview1.Items.Add(file.Name)
Next file
End If MfG
Manfred | |
Re: Treeview und listview | | | Autor: isensa | Datum: 27.10.12 19:29 |
| Hallo Manfred
Fehler habe ich keine mehr. Dafür wird auch im Listview nichts eingetragen.
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
Handles MyBase.Load
Dim drives = DriveInfo.GetDrives
For Each drive As DriveInfo In drives
Dim node = TreeView1.Nodes.Add(drive.Name)
FillNote(node, drive.RootDirectory)
Next
End Sub
Private Sub FillNote(ByVal node As TreeNode, ByVal directory As _
DirectoryInfo)
Try
Dim directories = directory.GetDirectories
For Each subdirectory As DirectoryInfo In directories
Dim subnode = node.Nodes.Add(subdirectory.Name)
FillNote(subnode, subdirectory)
Next
Catch ex As Exception
End Try
End Sub
Private Sub TreeView1_AfterSelect(sender As System.Object, e As _
System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim directory As IO.DirectoryInfo
directory = CType(TreeView1.SelectedNode.Tag, IO.DirectoryInfo)
If directory IsNot Nothing Then
Dim files() As IO.FileInfo = directory.GetFiles
ListView1.Items.Clear()
For Each file As IO.FileInfo In files
ListView1.Items.Add(file.Name)
Next file
End If
End Sub | |
Re: Treeview und listview | | | Autor: keco | Datum: 27.10.12 20:04 |
| Die Ursache habe ich bereits erwähnt. Du weißt der Tag-Eigenschaft eines Nodes nirgends ein DirectoryInfo-Objekt zu. | |
Re: Treeview und listview | | | Autor: Manfred X | Datum: 27.10.12 20:05 |
| Hallo!
Wenn Du eine DirectoryInfo-Instanz aus der Node-Tag-Eigenschaft
des Treeview abfragen möchtest, mußt Du zuvor auch ein entsprechendes
Objekt "rein gesteckt" haben.
treeview1.SelectedNode.Tag = New IO.DirectoryInfo("C:\") | |
Re: Treeview und listview | | | Autor: isensa | Datum: 28.10.12 09:47 |
| Hallo Manfred
Danke für deinen Tipp
Jetzt läuft's.
Private Sub TreeView1_AfterSelect(sender As System.Object, e As _
System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
TreeView1.SelectedNode.Tag = New IO.DirectoryInfo(e.Node.FullPath)
Dim directory As IO.DirectoryInfo
directory = CType(TreeView1.SelectedNode.Tag, IO.DirectoryInfo)
If directory IsNot Nothing Then
Dim files() As IO.FileInfo = directory.GetFiles
ListView1.Items.Clear()
For Each file As IO.FileInfo In files
ListView1.Items.Add(file.Name)
Next file
End If
End Sub | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|