Displaying directories and their contents in ListView : ListView « GUI « VB.Net Tutorial

Home
VB.Net Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statements
5.Date Time
6.Class Module
7.Development
8.Collections
9.Generics
10.Attributes
11.Event
12.LINQ
13.Stream File
14.GUI
15.GUI Applications
16.Windows Presentation Foundation
17.2D Graphics
18.I18N Internationlization
19.Reflection
20.Regular Expressions
21.Security
22.Socket Network
23.Thread
24.Windows
25.XML
26.Database ADO.net
27.Design Patterns
VB.Net
VB.Net by API
VB.Net Tutorial » GUI » ListView 
14.15.7.Displaying directories and their contents in ListView
Displaying directories and their contents in ListView
Imports System.IO
Imports System.Windows.Forms

public class LoadFileDirectoryInformationTreeView

   public Shared Sub Main
        Application.Run(New FrmListView)
   End Sub
End class
Public Class FrmListView
   Inherits Form

#Region " Windows Form Designer generated code "

   Public Sub New()
      MyBase.New()

      'This call is required by the Windows Form Designer.
      InitializeComponent()

      'Add any initialization after the InitializeComponent() call

   End Sub

   'Form overrides dispose to clean up the component list.
   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
      If disposing Then
         If Not (components Is NothingThen
            components.Dispose()
         End If
      End If
      MyBase.Dispose(disposing)
   End Sub

   ' display labels for current location in directory tree
   Friend WithEvents lblCurrent As Label
   Friend WithEvents lblDisplay As Label

   ' displays contents of current directory
   Friend WithEvents lvwBrowser As ListView

   ' specifies images for file icons and folder icons
   Friend WithEvents ilsFileFolder As ImageList


   'Required by the Windows Form Designer
   Private components As System.ComponentModel.IContainer

   'NOTE: The following procedure is required by the Windows Form Designer
   'It can be modified using the Windows Form Designer.  
   'Do not modify it using the code editor.
   <System.Diagnostics.DebuggerStepThrough()Private Sub InitializeComponent()
      Me.components = New System.ComponentModel.Container()
      Me.ilsFileFolder = New System.Windows.Forms.ImageList(Me.components)
      Me.lvwBrowser = New System.Windows.Forms.ListView()
      Me.lblCurrent = New System.Windows.Forms.Label()
      Me.lblDisplay = New System.Windows.Forms.Label()
      Me.SuspendLayout()
      '
      'ilsFileFolder
      '
      Me.ilsFileFolder.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit
      Me.ilsFileFolder.ImageSize = New System.Drawing.Size(1616)
      Me.ilsFileFolder.TransparentColor = System.Drawing.Color.Transparent
      '
      'lvwBrowser
      '
      Me.lvwBrowser.Location = New System.Drawing.Point(1688)
      Me.lvwBrowser.Name = "lvwBrowser"
      Me.lvwBrowser.RightToLeft = System.Windows.Forms.RightToLeft.No
      Me.lvwBrowser.Size = New System.Drawing.Size(448232)
      Me.lvwBrowser.SmallImageList = Me.ilsFileFolder
      Me.lvwBrowser.TabIndex = 2
      Me.lvwBrowser.View = System.Windows.Forms.View.List
      '
      'lblCurrent
      '
      Me.lblCurrent.Font = New System.Drawing.Font("Microsoft Sans Serif"9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
      Me.lblCurrent.ForeColor = System.Drawing.SystemColors.WindowText
      Me.lblCurrent.Location = New System.Drawing.Point(1616)
      Me.lblCurrent.Name = "lblCurrent"
      Me.lblCurrent.Size = New System.Drawing.Size(11223)
      Me.lblCurrent.TabIndex = 0
      Me.lblCurrent.Text = "Now in Directory:"
      '
      'lblDisplay
      '
      Me.lblDisplay.Font = New System.Drawing.Font("Microsoft Sans Serif"9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
      Me.lblDisplay.ForeColor = System.Drawing.SystemColors.WindowText
      Me.lblDisplay.Location = New System.Drawing.Point(12816)
      Me.lblDisplay.Name = "lblDisplay"
      Me.lblDisplay.Size = New System.Drawing.Size(34456)
      Me.lblDisplay.TabIndex = 1
      '
      'FrmListView
      '
      Me.AutoScaleBaseSize = New System.Drawing.Size(513)
      Me.ClientSize = New System.Drawing.Size(488341)
      Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.lvwBrowser, Me.lblDisplay, Me.lblCurrent})
      Me.Name = "FrmListView"
      Me.Text = "ListViewTest"
      Me.ResumeLayout(False)

   End Sub

#End Region

   Dim currentDirectory As String = Directory.GetCurrentDirectory()

   Private Sub lvwBrowser_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgsHandles lvwBrowser.Click

      If lvwBrowser.SelectedItems.Count <> Then
         If lvwBrowser.Items(0).Selected Then
            Dim directoryObject As DirectoryInfo = _
               New DirectoryInfo(currentDirectory)

            If Not (directoryObject.Parent Is NothingThen
               LoadFilesInDirectory(directoryObject.Parent.FullName)
            End If
         Else
            Dim chosen As String = lvwBrowser.SelectedItems(0).Text
            If Directory.Exists(currentDirectory & "\" & chosen) Then
               If currentDirectory = "C:\" Then
                  LoadFilesInDirectory(currentDirectory & chosen)
               Else
                  LoadFilesInDirectory(currentDirectory & "\" & chosen)
               End If
            End If

         End If

         lblDisplay.Text = currentDirectory
      End If

   End Sub 
   Public Sub LoadFilesInDirectory(ByVal currentDirectoryValue As String)
      lvwBrowser.Items.Clear()
      lvwBrowser.Items.Add("Go Up One Level")
      currentDirectory = currentDirectoryValue
      Dim newCurrentDirectory As DirectoryInfo = New DirectoryInfo(currentDirectory)
      Dim directoryArray As DirectoryInfo() = newCurrentDirectory.GetDirectories()
      Dim fileArray As FileInfo() = newCurrentDirectory.GetFiles()
      Dim dir As DirectoryInfo
      For Each dir In directoryArray
         Dim newDirectoryItem As ListViewItem = lvwBrowser.Items.Add(dir.Name)
      Next

      Dim file As FileInfo
      For Each file In fileArray
         Dim newFileItem As ListViewItem =lvwBrowser.Items.Add(file.Name)
      Next
   End Sub 

   Private Sub FrmListView_Load(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles MyBase.Load
      LoadFilesInDirectory(currentDirectory)
      lblDisplay.Text = currentDirectory
   End Sub 

End Class
14.15.ListView
14.15.1.ListView DemoListView Demo
14.15.2.Creating List Views in CodeCreating List Views in Code
14.15.3.Add columns and rows to a ListViewAdd columns and rows to a ListView
14.15.4.Change ListView state: LargeIcon, SmallIcon, List and DetailChange ListView state: LargeIcon, SmallIcon, List and Detail
14.15.5.Add and delete ListView ItemAdd and delete ListView Item
14.15.6.ListView Item Check eventListView Item Check event
14.15.7.Displaying directories and their contents in ListViewDisplaying directories and their contents in ListView
14.15.8.ListView ItemActivate eventListView ItemActivate event
14.15.9.ListView with CheckBox cellListView with CheckBox cell
14.15.10.Add file name to ListViewAdd file name to ListView
14.15.11.Runtime ListViewRuntime ListView
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.