Imports
Microsoft.VisualBasic
Imports System.IO
Public
Class
MainForm
Inherits
System.Windows.Forms.Form
' Variables
Dim
vtime As
New
System.DateTime '
system Date & time
Dim
vare As
TreeViewEventArgs '
Variable TreeView Event Args
Dim
PrevNode As
TreeNode ' TreeView,
Previous node open (selected)
Dim
fso As
Object
' Varible, Name of
FileSystemObject
Dim
fold As
Object
' Varible, Folder
Name of FileSystemObject
Dim
d As
DirectoryInfo
Dim
All_Folder_Flag As
Boolean
= False
' Folder Flag is
Boolean
Dim
Copy_Flag As
Boolean
' Copy Operation,
Boolean type
Dim
Message_Flg As
Boolean
Dim
mbMoving As
Boolean
' Variable, Boolean
type
Dim
ToolBar_Flg As
Boolean
Dim
Treeview_Flg As
Boolean
Dim
StatusBar_Flg As
Boolean
Dim
item_select As
Boolean
Dim
CInitFolder As
String
Dim
AFolderName() As
String
' Array, Name of
Folders - Name
Dim
AFileName() As
String
' Array, Name of
Files - Name
Dim
VDirectory As
String
Dim
Tree_Folder As
String
Dim
Item_Selected_type
As
String
Dim
V_Location As
String
Dim
Paste_FolderName As
String
Dim
DirSize As
Long
Dim
movetree As
Integer
' Integer Variable (TreeView
& ListView
Dim
MnuVIndex As
Integer
' Listview, Index of
View
Dim
VListView_select As
Integer
' Listview, index of
the item selected
Dim
Count1 As
Integer,
Count2 As
Integer
Dim
i As
Integer,
j As
Integer,
k As
Integer
Windows Form Designer generated
code |
Private
Sub
MainForm_Load(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles
MyBase.Load
' File System
Object (FSO)
fso = CreateObject("Scripting.FileSystemObject")
' Resize
Me.ToolBarmain.Width
= Me.Width
Me.ToolBar1.Left
= 2 * 8 + Me.PanelFolder.Width
Me.ToolBar3.Left
= 3 * Me.ToolBarmain.Width
/ 4
Me.ToolBar2.Left
= (Me.ToolBar1.Left
+ Me.ToolBar1.Width)
+ ((Me.ToolBar3.Left
- (Me.ToolBar1.Left
+ Me.ToolBar1.Width))
- ToolBar2.Width) / 2
Ltime.Left = ( Me.ToolBar1.Left
- Ltime.Width) / 2
Ltime.Top = ( Me.ToolBarmain.Height
- Ltime.Height) / 2
' COntrols Sizes
ToolBar_Flg =
True
Treeview_Flg =
True
StatusBar_Flg =
True
modify_size()
' TreeView &
ListView, Load data
LoadData()
' StatusBar Panel
1, Message ...
Me.StatusBarPanel1.Text
= "Hello ..."
MnuVIndex = 3
ListViewMode_Sub(MnuVIndex)
End
Sub
Private
Sub
modify_size()
Dim
VToolBarmain_Height
As
Integer
Dim
VTreeView1_Width As
Integer
Dim
VStatusBar1_Height
As
Integer
If
ToolBar_Flg Then
VToolBarmain_Height =
Me.ToolBarmain.Height
Me.ToolBarmain.Visible
= True
Me.mnuViewToolbar.Checked
= True
Else
VToolBarmain_Height = 0
Me.ToolBarmain.Visible
= False
Me.mnuViewToolbar.Checked
= False
End
If
If
StatusBar_Flg Then
VStatusBar1_Height =
Me.StatusBar1.Height
Me.StatusBar1.Visible
= True
Me.mnuViewStatusBar.Checked
= True
Else
VStatusBar1_Height = 0
Me.StatusBar1.Visible
= False
Me.mnuViewStatusBar.Checked
= False
End
If
If
Treeview_Flg Then
Me.ToolBarButton11.ImageIndex
= 0
VTreeView1_Width =
Me.Width
/ 4
Me.TreeView1.Visible
= True
Me.PanelFolder.Visible
= True
mnuallfolder.Enabled =
False
Else
Me.ToolBarButton11.ImageIndex
= 5
VTreeView1_Width = 0
Me.TreeView1.Visible
= False
Me.PanelFolder.Visible
= False
mnuallfolder.Enabled =
True
End
If
Me.PanelAddress.Top
= +VToolBarmain_Height + 5
Me.PanelAddress.Left
= 8
Me.PanelAddress.Height
= Me.TxtAddress.Height
Me.PanelAddress.Width
= Me.Width
- 16
Me.Laddress.Left
= 8
Me.Laddress.Top
= Me.PanelAddress.Height
- Me.Laddress.Height
Me.TxtAddress.Left
= 3 * Me.Laddress.Left
+ Me.Laddress.Width
Me.TxtAddress.Top
= 0
Me.TxtAddress.Width
= Me.PanelAddress.Width
- (Me.TxtAddress.Left
+ 8)
imgSplitter.Left = 0
imgSplitter.Top =
Me.PanelAddress.Top
+ Me.PanelAddress.Height
+ 5
imgSplitter.Width =
Me.Width
imgSplitter.Height =
Me.Height
- (Me.PanelAddress.Top
+ Me.PanelAddress.Height
+ 5)
'''''''''''''''''
Automatically resize '''''''''''''
' TreeView,
Height
Dim
HTree As
Integer
= (Me.Height
- ((Me.PanelAddress.Top
+ Me.PanelAddress.Height
+ 5) + 8 + Me.PanelFolder.Height
+ 5 + VStatusBar1_Height))
' TreeView,
Number of rows - 2
Dim
NRTree As
Integer
= (Int(HTree / Me.TreeView1.ItemHeight))
- 1
' Variable
Dim
VarTop As
Integer
= Me.TreeView1.ItemHeight
/ 2
'''''''''''''''''''''''''''''''''''''''''''''''''''''
Me.PanelFolder.Left
= 8
Me.PanelFolder.Top
= Me.imgSplitter.Top
+ 5
Me.PanelFolder.Height
= Me.btnClose_Tree.Height
Me.PanelFolder.Width
= Me.Width
/ 4
Me.LFolder.Left
= 4
Me.LFolder.Top
= Me.PanelFolder.Height
- Me.LFolder.Height
Me.btnClose_Tree.Left
= Me.PanelFolder.Width
- (Me.btnClose_Tree.Width
+ 4)
Me.btnClose_Tree.Top
= (Me.PanelFolder.Height
- Me.btnClose_Tree.Height)
/ 2
Me.TreeView1.Left
= Me.PanelFolder.Left
Me.TreeView1.Top
= Me.PanelFolder.Top
+ Me.PanelFolder.Height
+ 5
Me.TreeView1.Height
= (NRTree * Me.TreeView1.ItemHeight)
- 8
Me.TreeView1.Width
= VTreeView1_Width
picSplitter.Top =
Me.PanelFolder.Top
picSplitter.Left =
Me.TreeView1.Left
+ Me.TreeView1.Width
+ 2
Me.ListView1.Top
= Me.PanelFolder.Top
Me.ListView1.Left
= Me.TreeView1.Left
+ Me.TreeView1.Width
+ Me.picSplitter.Width
Me.ListView1.Height
= Me.TreeView1.Height
+ (Me.TreeView1.Top
- Me.PanelFolder.Top)
Me.ListView1.Width
= Me.Width
- (Me.ListView1.Left
+ 8)
picSplitter.Height =
Me.ListView1.Height
Me.StatusBar1.Width
= Me.Width
Me.StatusBar1.Top
= Me.TreeView1.Top
+ Me.TreeView1.Height
+ VarTop
' ListView,Header
listHeader()
ListView1.Refresh()
End
Sub
Private
Sub
Timer1_Tick(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles Timer1.Tick
' Current Date
...
Me.StatusBarPanel3.Text
= vtime.Now.ToShortDateString
' Current Time
...
Ltime.Text = vtime.Now.ToLongTimeString.ToString
Me.StatusBarPanel4.Text
= vtime.Now.ToLongTimeString.ToString
End
Sub
' Initial Load
Private
Sub
LoadData()
Dim
dr As
New
Object
Dim
rootNode As
TreeNode
Dim
childNode As
TreeNode
Dim
childNode1 As
TreeNode
Dim
Flg_FiretRootNode As
Boolean
= True
Dim
FirstRootNode As
String
' Clear TreeView
& Listview
TreeView1.Nodes.Clear()
ListView1.Items.Clear()
For
i = 0 To
Drive1.Items.Count - 1
' Root Nodes
dr =
fso.GetDrive(Microsoft.VisualBasic.Left(Drive1.Items(i),
1))
If
fso.DriveExists(Microsoft.VisualBasic.Left(Drive1.Items(i),
1)) Then
' drives ready
If
dr.Isready Then
' Root nodes
rootNode = New
TreeNode(Microsoft.VisualBasic.Left(Drive1.Items(i), 1) &
":") '
Drive1.Items(i))
Select
Case
dr.DriveType
Case
0
' UNKWON_DRIVE
rootNode.ImageIndex = 6
rootNode.SelectedImageIndex = 6
Case
2
' FLOPPY35
rootNode.ImageIndex = 3
rootNode.SelectedImageIndex = 3
Case
1
' HDDRIVE
rootNode.ImageIndex = 4
rootNode.SelectedImageIndex = 4
Case
3
' NETWORK
rootNode.ImageIndex = 5
rootNode.SelectedImageIndex = 5
Case
4
' CDDRIVE
rootNode.ImageIndex = 2
rootNode.SelectedImageIndex = 2
Case
5
' Unkown_Divers
rootNode.ImageIndex = 6
rootNode.SelectedImageIndex = 6
End
Select
' Root nodes
rootNode.Tag = Drive1.Items(i)
TreeView1.Nodes.Add(rootNode)
' First Boot Node
If
Flg_FiretRootNode
Then
FirstRootNode = Drive1.Items(i)
Flg_FiretRootNode =
False
End
If
' 1st child Nodes
Dir1.Path =
UCase(Microsoft.VisualBasic.Left(Drive1.Items(i), 1)) &
":\"
If
Dir1.DirListCount > 0
Then
For
j = 0 To
Dir1.DirListCount - 1
If
UCase(Microsoft.VisualBasic.Left(Dir1.DirList(j), 1)) =
UCase(Microsoft.VisualBasic.Left(Drive1.Items(i), 1))
Then
childNode = New
TreeNode(Microsoft.VisualBasic.Right(Dir1.DirList(j),
Len(Dir1.DirList(j)) - 3), 0, 1)
childNode.Tag = Dir1.DirList(j)
' child Nodes
rootNode.Nodes.Add(childNode)
' 'Expand root
nodes (1st ready drivers)
If
UCase(Microsoft.VisualBasic.Left(Dir1.DirList(j), 1)) =
UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1))
Then
rootNode.Expand()
End
If
' 2nd child Nodes
Dir2.Path = Dir1.DirList(j)
If
Dir2.DirListCount > 0
Then
For
k = 0 To
Dir2.DirListCount - 1
If
Microsoft.VisualBasic.Left(Dir2.DirList(k),
Len(Dir1.DirList(j))) = Dir1.DirList(j)
Then
childNode1 = New
TreeNode(Microsoft.VisualBasic.Right(Dir2.DirList(k),
(Len(Dir2.DirList(k)) - (Len(Dir1.DirList(j)) + 1))), 0,
1)
childNode1.Tag = Dir2.DirList(k)
' child Nodes
childNode.Nodes.Add(childNode1)
End
If
Next
k
End
If
End
If
Next
j
End
If
Else
' drives not
ready
' Root nodes
rootNode = New
TreeNode(Microsoft.VisualBasic.Left(Drive1.Items(i), 1) &
":") '
Drive1.Items(i))
Select
Case
dr.DriveType
Case
0
' UNKWON_DRIVE
rootNode.ImageIndex = 6
rootNode.SelectedImageIndex = 6
Case
2
' FLOPPY35
rootNode.ImageIndex = 3
rootNode.SelectedImageIndex = 3
Case
1
' HDDRIVE
rootNode.ImageIndex = 4
rootNode.SelectedImageIndex = 4
Case
3
' NETWORK
rootNode.ImageIndex = 5
rootNode.SelectedImageIndex = 5
Case
4
' CDDRIVE
rootNode.ImageIndex = 2
rootNode.SelectedImageIndex = 2
Case
5
' Unkown_Divers
rootNode.ImageIndex = 6
rootNode.SelectedImageIndex = 6
End
Select
rootNode.Tag =
UCase(Microsoft.VisualBasic.Left(Drive1.Items(i), 1) &
":") '
Drive1.Items(i)
TreeView1.Nodes.Add(rootNode)
End
If
End
If
Next
i
''''''''''''''''''' Listview, Add items
' Folder
Dir1.Path =
UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) & ":\"
VDirectory =
UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) & ":"
Me.TxtAddress.Text
= UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) &
":"
' Folder Size
d = New
DirectoryInfo(Me.TxtAddress.Text)
DirectorySize(d)
If
Dir1.DirListCount > 0
Then
For
j = 0 To
Dir1.DirListCount - 1
ListView_Sub(Dir1.DirList(j), "", 0)
Next
j
End
If
' Files
File1.Path =
UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) & ":\"
If
File1.Items.Count > 0
Then
For
j = 0 To
File1.Items.Count - 1
' Add Files
ListView_Sub(File1.Items(j), File1.Path, 1)
Next
j
End
If
End
Sub
' Listview,
Header
Private
Sub
listHeader()
Dim
ColWith As
Integer
ListView1.Columns.Clear()
ColWith = ( Me.ListView1.Width
/ 4) - 6
' Column Header
ListView1.Columns.Add("Name", ColWith,
HorizontalAlignment.Center)
ListView1.Columns.Add("Size", ColWith,
HorizontalAlignment.Left)
ListView1.Columns.Add("Type", ColWith,
HorizontalAlignment.Left)
ListView1.Columns.Add("Date Modified", ColWith,
HorizontalAlignment.Left)
End
Sub
' Listview, Add
Item
' Folder type:
' + ListItem =
Full Folder Name (ex: c:\New Folder\obj)
' + ParentName =
" "
' + ImagIndex = 0
' File type:
' + ListItem =
File Name (ex: Autoexec.bat
' + ParentName =
Full Folder Name corresponding (ex: c:\New Folder)
' + ImagIndex = 1
Private
Sub
ListView_Sub(ByVal
ListItem As
String,
ByVal
ParentName As
String,
ByVal
ImagIndex As
Integer)
Dim
f As
Object
Dim
item1 As
ListViewItem
On
Error
Resume
Next
' Folder type
If
ImagIndex = 0 Then
' Create item and
four sets of subitems.
' Name & picture
item1 = New
ListViewItem(Microsoft.VisualBasic.Right(ListItem, (Len(ListItem)
- (Len(TxtAddress.Text) + 1))), 0)
' Text
item1.SubItems.Add(" ")
' Size
'''''''''''''''''''''''''
' Type
If
GetAttr(ListItem) = 16
Then
item1.SubItems.Add("File Folder")
Else
item1.SubItems.Add("File Folder")
End
If
' Date Modified
item1.SubItems.Add(Directory.GetLastWriteTime(ListItem))
'Add the items to
the ListView.
ListView1.Items.AddRange( New
ListViewItem() {item1})
' File Type
ElseIf
ImagIndex = 1 Then
f = fso.GetFile(ParentName & "\" & ListItem)
' Create item and
four sets of subitems.
' Name & picture
item1.Tag = ParentName & "\" & ListItem
item1 = New
ListViewItem(ListItem, 1)
' Size
item1.SubItems.Add(FileLen(ParentName & "\" & ListItem)
& " Bytes")
' Type
item1.SubItems.Add(f.Type)
' Date Modifed
item1.SubItems.Add(File.GetLastWriteTime(ParentName &
"\" & ListItem))
'Add the items to
the ListView.
ListView1.Items.AddRange( New
ListViewItem() {item1})
End
If
End
Sub
Private
Sub
mnuallfolder_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuallfolder.Click
' COntrols Sizes
Treeview_Flg =
Not Treeview_Flg
modify_size()
End
Sub
Private
Sub
btnClose_Tree_Click_1(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles btnClose_Tree.Click
' COntrols Sizes
Treeview_Flg =
Not Treeview_Flg
modify_size()
End
Sub
Private
Sub
imgSplitter_MouseDown(ByVal
sender As
System.Object, ByVal
e As
System.Windows.Forms.MouseEventArgs)
Handles
imgSplitter.MouseDown
picSplitter.Visible =
True
mbMoving = True
End
Sub
Private
Sub
imgSplitter_MouseMove(ByVal
sender As
System.Object, ByVal
e As
System.Windows.Forms.MouseEventArgs)
Handles
imgSplitter.MouseMove
movetree = e.X
If
mbMoving Then
Me.picSplitter.Left
= movetree
End
If
End
Sub
Private
Sub
imgSplitter_MouseUp(ByVal
sender As
System.Object, ByVal
e As
System.Windows.Forms.MouseEventArgs)
Handles
imgSplitter.MouseUp
picSplitter.Visible =
False
mbMoving = False
SizeControls(movetree)
End
Sub
' Resise
Private
Sub
SizeControls(ByVal
XPosition As
Integer)
On
Error
Resume
Next
If
XPosition <= (Me.btnClose_Tree.Width
+ 4) Then
XPosition = ( Me.btnClose_Tree.Width
+ 4)
End
If
If
XPosition <= Me.LFolder.Width
Then
Me.LFolder.Visible
= False
Else
Me.LFolder.Visible
= True
End
If
Me.PanelFolder.Width
= XPosition
Me.PanelFolder.Left
= 8
Me.TreeView1.Width
= Me.PanelFolder.Width
Me.TreeView1.Left
= Me.PanelFolder.Left
Me.ListView1.Left
= Me.TreeView1.Left
+ Me.TreeView1.Width
+ Me.picSplitter.Width
+ 5
Me.ListView1.Width
= Me.Width
- (Me.ListView1.Left
+ 8)
Me.btnClose_Tree.Left
= Me.PanelFolder.Width
- (Me.btnClose_Tree.Width
+ 4)
Me.picSplitter.Left
= Me.TreeView1.Left
+ Me.TreeView1.Width
+ 2
' Header Column
listHeader()
End
Sub
Private
Sub
mnuCopy_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuCopy.Click
' Copy Operation
Copy_Function()
End
Sub
Private
Sub
mnuPaste_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuPaste.Click
' Paste Operation
Paste_Function()
End
Sub
Private
Sub
mnuDelete_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuDelete.Click
' Delete
operation
Delete_Sub()
End
Sub
Private
Sub
mnuProperties_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuProperties.Click
' Properties
information
Properties_info()
End
Sub
' Properties
information
Private
Sub
Properties_info()
' TreeView, drive
properties
If
Item_Selected_type = "TreeItem_Drive"
Then
Properties_Tree_Drive_Sub()
' TreeView,
Folder properties
ElseIf
Item_Selected_type = "TreeItem_Folder"
Then
Properties_Tree_Folder_Sub()
' ListView,
Folder & File properties
ElseIf
Item_Selected_type = "ListItem"
Then
Properties_List_Sub()
End
If
properties_flg( False)
End
Sub
Private
Sub
properties_flg(ByVal
bval As
Boolean)
Me.ToolBarButton21.Enabled
= bval
Me.mnupopproperties.Enabled
= bval
Me.mnuProperties.Enabled
= bval
End
Sub
Private
Sub
mnuClose_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuClose.Click
Application.Exit()
End
Sub
Private
Sub
mnuViewStatusBar_Click(ByVal
eventSender As
System.Object, ByVal
eventArgs As
System.EventArgs)
Handles mnuViewStatusBar.Click
StatusBar_Flg =
Not StatusBar_Flg
modify_size()
End
Sub
Private
Sub
mnuViewToolbar_Click(ByVal
eventSender As
System.Object, ByVal
eventArgs As
System.EventArgs)
Handles mnuViewToolbar.Click
' COntrols Sizes
ToolBar_Flg = Not
ToolBar_Flg
modify_size()
End
Sub
Private
Sub
mnuListViewMode_0_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuListViewMode_0.Click
MnuVIndex = 0
ListViewMode_Sub(MnuVIndex)
End
Sub
Private
Sub
mnuListViewMode_1_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuListViewMode_1.Click
MnuVIndex = 1
ListViewMode_Sub(MnuVIndex)
End
Sub
Private
Sub
mnuListViewMode_2_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuListViewMode_2.Click
MnuVIndex = 2
ListViewMode_Sub(MnuVIndex)
End
Sub
Private
Sub
mnuListViewMode_3_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuListViewMode_3.Click
MnuVIndex = 3
ListViewMode_Sub(MnuVIndex)
End
Sub
Private
Sub
ListViewMode_Sub(ByVal
VIndex As
Integer)
Select
Case
VIndex
Case
0
ListView1.View = View.LargeIcon
mnuListViewMode_0.Checked =
True
mnuListViewMode_1.Checked =
False
mnuListViewMode_2.Checked =
False
mnuListViewMode_3.Checked =
False
Me.ViewLargeIcon.Checked
= True
Me.ViewSmallIcon.Checked
= False
Me.ViewList.Checked
= False
Me.ViewDetails.Checked
= False
Case
1
ListView1.View = View.SmallIcon
mnuListViewMode_0.Checked =
False
mnuListViewMode_1.Checked =
True
mnuListViewMode_2.Checked =
False
mnuListViewMode_3.Checked =
False
Me.ViewLargeIcon.Checked
= False
Me.ViewSmallIcon.Checked
= True
Me.ViewList.Checked
= False
Me.ViewDetails.Checked
= False
Case
2
ListView1.View = View.List
mnuListViewMode_0.Checked =
False
mnuListViewMode_1.Checked =
False
mnuListViewMode_2.Checked =
True
mnuListViewMode_3.Checked =
False
Me.ViewLargeIcon.Checked
= False
Me.ViewSmallIcon.Checked
= False
Me.ViewList.Checked
= True
Me.ViewDetails.Checked
= False
Case
3
ListView1.View = View.Details
mnuListViewMode_0.Checked =
False
mnuListViewMode_1.Checked =
False
mnuListViewMode_2.Checked =
False
mnuListViewMode_3.Checked =
True
Me.ViewLargeIcon.Checked
= False
Me.ViewSmallIcon.Checked
= False
Me.ViewList.Checked
= False
Me.ViewDetails.Checked
= True
End
Select
End
Sub
Private
Sub
mnuAboutThis_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnuAboutThis.Click
Dim
f As
New
About
f.Show()
End
Sub
Private
Sub
ToolBar1_ButtonClick_1(ByVal
sender As
System.Object, ByVal
e As
System.Windows.Forms.ToolBarButtonClickEventArgs)
Handles
ToolBar1.ButtonClick
Select
Case
ToolBar1.Buttons.IndexOf(e.Button)
Case
0
' Folders Tree
' COntrols Sizes
Treeview_Flg =
Not Treeview_Flg
modify_size()
Case
2
' Copy Operation
Copy_Function()
Case
4
' Paste Operation
Paste_Function()
Case
6
' Delete
operation
Delete_Sub()
End
Select
End
Sub
Private
Sub
ToolBar2_ButtonClick(ByVal
sender As
System.Object, ByVal
e As
System.Windows.Forms.ToolBarButtonClickEventArgs)
Handles
ToolBar2.ButtonClick
Select
Case
ToolBar2.Buttons.IndexOf(e.Button)
Case
0
' Properties
information
Properties_info()
End
Select
End
Sub
' Drive
Properties
Private
Sub
Properties_Tree_Drive_Sub()
Dim
dr As
Object
' Drive
Dim
Drive_Type As
String
' Type of drive
On
Error
Resume
Next
'Drive Exist
If
fso.DriveExists(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text,
1)) = True
Then
dr =
fso.GetDrive(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text,
2))
If
dr.Isready Then
' This drive is
ready
fDrive_Properities.Text = " " &
UCase(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text,
1)) & ": Drive, Properties"
fDrive_Properities.LLabel.Text = dr.VolumeName
Select
Case
dr.DriveType
Case
0
Drive_Type = "Unknown"
fDrive_Properities.Ldrive.ImageIndex = 4
' Unkown Diver
Case
1
Drive_Type = "Removable"
fDrive_Properities.Ldrive.ImageIndex = 2
' 35floppy
Case
2
Drive_Type = "Fixed Disk"
fDrive_Properities.Ldrive.ImageIndex = 0
' HDDrive
Case
3
Drive_Type = "Network"
fDrive_Properities.Ldrive.ImageIndex = 3
' Network
Case
4
Drive_Type = "CD-ROM"
fDrive_Properities.Ldrive.ImageIndex = 1
' Cddrive
Case
5
Drive_Type = "RAM Disk"
fDrive_Properities.Ldrive.ImageIndex = 4
' Unkown Diver
End
Select
fDrive_Properities.LType.Text = Drive_Type
' Drive Type
fDrive_Properities.LFileSystem.Text = dr.FileSystem
' File Sytem Type
' Space ..
fDrive_Properities.LUsed1.Text = (dr.TotalSize -
dr.FreeSpace) & " bytes"
fDrive_Properities.LUsed2.Text =
FormatNumber((dr.TotalSize - dr.FreeSpace) / 1024, 0) & "
Kbytes"
fDrive_Properities.LFree1.Text = dr.FreeSpace & "
bytes"
fDrive_Properities.LFree2.Text =
FormatNumber(dr.FreeSpace / 1024, 0) & " Kbytes"
fDrive_Properities.LCapacity1.Text = dr.TotalSize & "
bytes"
fDrive_Properities.LCapacity2.Text =
FormatNumber(dr.TotalSize / 1024, 0) & " Kbytes"
fDrive_Properities.ShowDialog()
' Drive_Properties_Form
Else
' drive Not Ready
fNot_Ready_Form.Text =
UCase(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text,
1)) & ": drive, no properties."
fNot_Ready_Form.LMessage1.Text = "This device " &
UCase(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text,
1)) & ": is not ready ."
fNot_Ready_Form.LMessage2.Text = "no properties values
..."
fNot_Ready_Form.ShowDialog()
' Not_Ready_Form
End
If
End
If
End
Sub
' Folder
properties (TreeView node Folder)
Private
Sub
Properties_Tree_Folder_Sub()
Dim
v_Location As
String
Dim
vlen As
Integer
= 0
' Folder ...
fold = fso.GetFolder(Tree_Folder)
' Form Text
fFolder_File_Properties.Text = " " & Tree_Folder & "
Properties"
' Folder picture
fFolder_File_Properties.LFolder.ImageIndex = 0
' Calcul ...
v_Location = Tree_Folder
For
i = 0 To
Len(Tree_Folder) - 1
If
Microsoft.VisualBasic.Right(v_Location, 1) = "\"
Then
Exit
For
Else
vlen = i + 1
v_Location = Microsoft.VisualBasic.Left(v_Location, (Len(v_Location)
- 1))
End
If
Next
'Folder Name
fFolder_File_Properties.LName.Text =
Microsoft.VisualBasic.Right(Tree_Folder, vlen)
' Short Location
name
v_Location = Microsoft.VisualBasic.Left(v_Location, (Len(v_Location)
- 1))
' Short Location
name
Location_view(v_Location)
' Other
information
Properties_Tree_List_Folder()
fFolder_File_Properties.ShowDialog()
' Folder/File, Properties
Form
End
Sub
' Short Location
name
Private
Sub
Location_view(ByVal
VLocation As
String)
Dim
VFName As
String
Dim
VLocation_left As
String,
VLocation_Right As
String
Dim
vlen As
Integer
= 0
If
Len(VLocation) <= 32
Then
fFolder_File_Properties.LLocation.Text = VLocation
Else
' Left part
VFName = VLocation
vlen = 0
For
i = 0 To
Len(VLocation) - 1
If
Microsoft.VisualBasic.Left(VFName, 1) = "\"
And
vlen > 2 Then
vlen = vlen + 1
Exit
For
Else
vlen = i + 1
VFName = Microsoft.VisualBasic.Right(VFName, (Len(VFName)
- 1))
End
If
Next
VLocation_left = Microsoft.VisualBasic.Left(VLocation,
vlen)
' Right part
VFName = VLocation
For
i = 0 To
Len(VLocation) - 1
If
Microsoft.VisualBasic.Right(VFName, 1) = "\"
Then
vlen = vlen + 1
Exit
For
Else
vlen = i + 1
VFName = Microsoft.VisualBasic.Left(VFName, (Len(VFName)
- 1))
End
If
Next
VLocation_Right = Microsoft.VisualBasic.Right(VLocation,
vlen)
If
Len(VLocation_left & "..." & VLocation_Right) > 32
Then
VLocation_left = Microsoft.VisualBasic.Left(VLocation,
3)
End
If
' Location
fFolder_File_Properties.LLocation.Text = VLocation_left
& "..." & VLocation_Right
End
If
End
Sub
' Other
information
Private
Sub
Properties_Tree_List_Folder()
' Folder Type
fFolder_File_Properties.LType.Text = fold.Type
' Size
fFolder_File_Properties.Lsize.Text = fold.Size & "
Bytes"
' Short Name
fFolder_File_Properties.LShortName.Text =
fold.ShortName
On
Error
GoTo
PError0
fFolder_File_Properties.LDateCreated.Text =
fold.DateCreated
Exit
Sub
PError0:
fFolder_File_Properties.LDateCreated.Text = "(Unkonwon)"
Exit
Sub
End
Sub
' ListView,
Folder & File properties
Private
Sub
Properties_List_Sub()
Dim
f As
Object
Dim
VFileName As
String
On
Error
Resume
Next
V_Location = Me.TxtAddress.Text
' Folder
If
ListView1.SelectedItems.Item(0).ImageIndex = 0
Then
' Folder
fold = fso.GetFolder(V_Location & "\" &
ListView1.SelectedItems(0).Text)
' Form Text
fFolder_File_Properties.Text = " " &
ListView1.SelectedItems(0).Text & " Properties"
' image
fFolder_File_Properties.LFolder.ImageIndex = 0
' Folder name
fFolder_File_Properties.LName.Text =
ListView1.SelectedItems(0).Text
' Short Location
name
Location_view(V_Location)
' Other
information
Properties_Tree_List_Folder()
' Sub Procedure
' File
ElseIf
ListView1.SelectedItems.Item(0).ImageIndex = 1
Then
' File
f = fso.GetFile(V_Location & "\" &
ListView1.SelectedItems(0).Text)
' Form text
fFolder_File_Properties.Text = " " &
ListView1.SelectedItems(0).Text & " Properties"
' image
fFolder_File_Properties.LFolder.ImageIndex = 1
' File name
fFolder_File_Properties.LName.Text =
ListView1.SelectedItems(0).Text
' File Type
fFolder_File_Properties.LType.Text = f.Type
' Short Location
name
Location_view(V_Location)
' Size
fFolder_File_Properties.Lsize.Text = f.Size & " bytes"
' Short name
fFolder_File_Properties.LShortName.Text = f.ShortName
' File Date
fFolder_File_Properties.LDateCreated.Text =
f.DateCreated
End
If
' Folder/File
Properties Form
fFolder_File_Properties.ShowDialog()
End
Sub
' ListView, View
Mode
Private
Sub
ToolBar3_ButtonClick(ByVal
sender As
System.Object, ByVal
e As
System.Windows.Forms.ToolBarButtonClickEventArgs)
Handles
ToolBar3.ButtonClick
Select
Case
ToolBar3.Buttons.IndexOf(e.Button)
' ListView, View
Mode
Case
0
Select
Case
MnuVIndex
' Large Icons
Case
0
MnuVIndex = MnuVIndex + 1
' Small Icons
Case
1
MnuVIndex = MnuVIndex + 1
' List
Case
2
MnuVIndex = MnuVIndex + 1
' Details
Case
3
MnuVIndex = 0
End
Select
ListViewMode_Sub(MnuVIndex)
' About
Case
2
Dim
f As
New
About
f.Show()
' Exit
Case
4
Application.Exit()
End
Select
End
Sub
' ListView, View
Mode
Private
Sub
ViewLargeIcon_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles ViewLargeIcon.Click
MnuVIndex = 0
ListViewMode_Sub(MnuVIndex)
End
Sub
Private
Sub
ViewSmallIcon_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles ViewSmallIcon.Click
MnuVIndex = 1
ListViewMode_Sub(MnuVIndex)
End
Sub
Private
Sub
ViewList_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles ViewList.Click
MnuVIndex = 2
ListViewMode_Sub(MnuVIndex)
End
Sub
Private
Sub
ViewDetails_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles ViewDetails.Click
MnuVIndex = 3
ListViewMode_Sub(MnuVIndex)
End
Sub
' Pop Menu Items
Private
Sub
mnupopcopy_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnupopcopy.Click
' Copy Operation
Copy_Function()
End
Sub
Private
Sub
mnupoppaste_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnupoppaste.Click
' Paste Operation
Paste_Function()
End
Sub
Private
Sub
mnupopdelete_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnupopdelete.Click
' Delete
operation
Delete_Sub()
End
Sub
Private
Sub
mnupopproperties_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnupopproperties.Click
' Properties
information
Properties_info()
End
Sub
Private
Sub
mnupopabout_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles mnupopabout.Click
Dim
f As
New
About
f.ShowDialog()
End
Sub
Private
Sub
TreeView1_AfterExpand(ByVal
sender As
Object,
ByVal
e As
System.Windows.Forms.TreeViewEventArgs)
Handles
TreeView1.AfterExpand
vare = e
End
Sub
Private
Sub
TreeView1_AfterSelect(ByVal
sender As
System.Object, ByVal
e As
System.Windows.Forms.TreeViewEventArgs)
Handles
TreeView1.AfterSelect
Dim
drv As
Object
Dim
childNode As
TreeNode
Dim
NewNodeFlag As
Boolean
= True
On
Error
Resume
Next
' StatusBar
Me.StatusBarPanel1.Text
= "Node selected - " & e.Node.Text
' Copy, Paste and
delete is disabled
Me.ToolBarButton13.Enabled
= False
Me.mnuCopy.Enabled
= False
Me.mnupopcopy.Enabled
= False
If
Copy_Flag = True
Then
Me.ToolBarButton15.Enabled
= True
Me.mnuPaste.Enabled
= True
Me.mnupoppaste.Enabled
= True
Else
Me.ToolBarButton15.Enabled
= False
Me.mnuPaste.Enabled
= False
Me.mnupoppaste.Enabled
= False
End
If
Me.ToolBarButton17.Enabled
= False
Me.mnuDelete.Enabled
= False
Me.mnupopdelete.Enabled
= False
' TreeView,
Previous node open (selected)
If
PrevNode.ImageIndex = 1
Then
PrevNode.ImageIndex = 0
If
PrevNode.Parent.ImageIndex = 1
Then
PrevNode.Parent.ImageIndex = 0
Select
Case
e.Node.ImageIndex
' Folder Type
Case
0
If
e.Node.IsExpanded
Then e.Node.Collapse()
'
ListView1.Items.Clear()
' TxtAddress
VDirectory =
UCase(Microsoft.VisualBasic.Left(e.Node.Tag, 1)) &
Microsoft.VisualBasic.Right(e.Node.Tag, (Len(e.Node.Tag) -
1))
Me.TxtAddress.Text
= UCase(Microsoft.VisualBasic.Left(e.Node.Tag, 1)) &
Microsoft.VisualBasic.Right(e.Node.Tag, (Len(e.Node.Tag) -
1))
' Folder Size
d = New
DirectoryInfo(Me.TxtAddress.Text)
DirectorySize(d)
Dir2.Path = e.Node.Tag
If
Dir2.DirListCount > 0
Then
For
k = 0 To
Dir2.DirListCount - 1
'''''''''''''''''' TreeView '''''''''
If
e.Node.GetNodeCount(True)
= 0 Then
' Node, First
selection
' Add a Sub Nodes
Dir1.Path = e.Node.Tag
If
Dir1.DirListCount > 0
Then
For
j = 0 To
Dir1.DirListCount - 1
If
Microsoft.VisualBasic.Left(Dir1.DirList(j),
Len(Dir1.Path)) = Dir1.Path
Then
childNode = New
TreeNode(Microsoft.VisualBasic.Right(Dir1.DirList(j),
(Len(Dir1.DirList(j)) - (Len(Dir1.Path) + 1))), 0, 1)
childNode.Tag = Dir1.DirList(j)
e.Node.Nodes.Add(childNode)
End
If
Next
j
End
If
End
If
e.Node.Expand()
Next
End
If
'''''''''''''''''
ListView '''''
Dir2.Path = e.Node.Tag
File1.Path = Dir2.Path
' If
Dir2.DirListCount > 0 Or File1.Items.Count > 0 Then
ListView1.Items.Clear()
If
Dir2.DirListCount > 0
Then
For
k = 0 To
Dir2.DirListCount - 1
' Folder, Add
Items
If
e.Node.ImageIndex = 0
Then
ListView_Sub(Dir2.DirList(k), " ", 0)
End
If
Next
End
If
' File, Add Items
If
File1.Items.Count > 0
Then
For
k = 0 To
File1.Items.Count - 1
ListView_Sub(File1.Items(k), Dir2.Path, 1)
Next
End
If
' Type of item
selected is drive
Item_Selected_type = "TreeItem_Folder"
properties_flg( True)
Tree_Folder = e.Node.Tag
' Paste Folder
Paste_FolderName =
Me.TxtAddress.Text
' TreeView,
Previous node open (selected)
PrevNode = e.Node
Exit
Sub
' Other Types -
HDrive, CDRom, 3.5Floppy, ...
Case
Is
> 1
drv =
fso.GetDrive(Microsoft.VisualBasic.Left(e.Node.Text, 1))
If
drv.Isready = False
Then
' Drive is not Ready
drive_not_ready(e.Node.Text)
'Type of item
selected is drive
Item_Selected_type = "TreeItem_Drive"
properties_flg( True)
Exit
Sub
Else
' Drives Ready
e.Node.Expand()
ListView1.Items.Clear()
' TxtAddress
VDirectory =
UCase(Microsoft.VisualBasic.Left(e.Node.Tag, 1)) & ":"
Me.TxtAddress.Text
= UCase(Microsoft.VisualBasic.Left(e.Node.Tag, 1)) & ":"
' Folder Size
d = New
DirectoryInfo(Me.TxtAddress.Text)
DirectorySize(d)
' Listview1, Add
items
Dir2.Path = Microsoft.VisualBasic.Left(e.Node.Tag, 1) &
":\"
If
Dir2.DirListCount > 0
Then
For
j = 0 To
Dir2.DirListCount - 1
If
UCase(Microsoft.VisualBasic.Left(Dir2.DirList(j).ToString,
1)) = UCase(Microsoft.VisualBasic.Left(e.Node.Text, 1))
Then
' Listview, Add
Items
ListView_Sub(Dir2.DirList(j).ToString, "", 0)
End
If
Next
End
If
''''''''''''''''''''
File1.Path = Microsoft.VisualBasic.Left(e.Node.Tag, 1)
& ":\"
If
File1.Items.Count > 0
Then
For
k = 0 To
File1.Items.Count - 1
' Add Files
ListView_Sub(File1.Items(k), File1.Path, 1)
Next
End
If
'Type of item
selected is drive
Item_Selected_type = "TreeItem_Drive"
properties_flg( True)
End
If
' Paste Folder
Paste_FolderName =
Me.TxtAddress.Text
End
Select
End
Sub
Private
Sub
drive_not_ready(ByVal
drv_not_ready As
String)
fNot_Ready_Form.Text =
UCase(Microsoft.VisualBasic.Left(drv_not_ready, 1)) & ":
drive testing."
fNot_Ready_Form.LMessage1.Text =
UCase(Microsoft.VisualBasic.Left(drv_not_ready, 1)) & ":
is not accessible."
fNot_Ready_Form.LMessage2.Text = "This device is not
ready."
fNot_Ready_Form.ShowDialog()
End
Sub
Private
Sub
ListView1_SelectedIndexChanged(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs)
Handles
ListView1.SelectedIndexChanged
' Select Function
Select_Function()
' Type of item
selected is Listview item
Item_Selected_type = "ListItem"
properties_flg( True)
If
Count1 > 0 Or
Count2 > 0 Then
' To copy
Function
Me.ToolBarButton13.Enabled
= True
Me.mnuCopy.Enabled
= True
Me.mnupopcopy.Enabled
= True
' To Delete
Function
Me.ToolBarButton17.Enabled
= True
Me.mnuDelete.Enabled
= True
Me.mnupopdelete.Enabled
= True
Else
' To copy
Function
Me.ToolBarButton13.Enabled
= False
Me.mnuCopy.Enabled
= False
Me.mnupopcopy.Enabled
= False
' To Delete
Function
Me.ToolBarButton17.Enabled
= False
Me.mnuDelete.Enabled
= False
Me.mnupopdelete.Enabled
= False
End
If
End
Sub
' Copy
Private
Sub
Select_Function()
Count1 = 0 '
Number of Folders
Count2 = 0 '
Number of Files
' Item Selected
For
i = 0 To
ListView1.SelectedItems.Count - 1
If
ListView1.SelectedItems.Item(i).Selected =
True
Then
' Folders
If
ListView1.SelectedItems(i).ImageIndex = 0
Then
Count1 = Count1 + 1
' Number of Folders
' Files
ElseIf
ListView1.SelectedItems(i).ImageIndex = 1
Then
Count2 = Count2 + 1
' Number of Files
End
If
End
If
Next
i
' Reallocate
Storage Space for Dynamic Array
If
Count1 > 0 Then
ReDim
AFolderName(Count1)
End
If
If
Count2 > 0 Then
ReDim
AFileName(Count2)
End
If
j = 0
k = 0
CInitFolder = Me.TxtAddress.Text
' Arrays of
Folders and Files
For
i = 0 To
ListView1.SelectedItems.Count - 1
If
ListView1.SelectedItems(i).Selected =
True
Then
' Array of
Folders
If
ListView1.SelectedItems(i).ImageIndex = 0
Then
AFolderName(j) = ListView1.SelectedItems(i).Text
j = j + 1
' Array of Files
ElseIf
ListView1.SelectedItems(i).ImageIndex = 1
Then
AFileName(k) = ListView1.SelectedItems(i).Text
k = k + 1
End
If
End
If
Next
i
Paste_FolderName =
Me.TxtAddress.Text
' To Paste
Function
If
Copy_Flag Then
Me.ToolBarButton15.Enabled
= True
Me.mnuPaste.Enabled
= True
Me.mnupoppaste.Enabled
= True
Else
Me.ToolBarButton15.Enabled
= False
Me.mnuPaste.Enabled
= False
Me.mnupoppaste.Enabled
= False
End
If
End
Sub
' Copy Operation,
Use ListView to copy Folders
Private
Sub
Copy_Function()
Me.ListFolder.Items.Clear()
Me.ListFile.Items.Clear()
If
Count1 > 0 Then
For
i = 0 To
Count1 - 1
Me.ListFolder.Items.Add(AFolderName(i))
Next
End
If
If
Count2 > 0 Then
For
i = 0 To
Count2 - 1
Me.ListFile.Items.Add(AFileName(i))
Next
End
If
Paste_FolderName =
Me.TxtAddress.Text
' To copy
Function
Me.ToolBarButton13.Enabled
= False
Me.mnuCopy.Enabled
= False
Me.mnupopcopy.Enabled
= False
' To Paste
Function
Message_Flg =
True
Copy_Flag = True
Me.ToolBarButton15.Enabled
= True
Me.mnuPaste.Enabled
= True
Me.mnupoppaste.Enabled
= True
End
Sub
' Paste
operation, Paste Folders appear in ListView & TreeView
Private
Sub
Paste_Function()
Dim
VString As
String
Dim
childnode As
TreeNode
If
Message_Flg Then
' Message ...
MsgBox("IF??? - Folder is Big, Memory to be abort ...",
MsgBoxStyle.Information, "Message")
Message_Flg =
False
End
If
If
Len(Paste_FolderName) > 0
Then
''''''''''''''''''''''''''' ListView1 '''''''''''''''
' Paste file(s)...
If
Me.ListFile.Items.Count
> 0 Then
For
k = 0 To
Me.ListFile.Items.Count
- 1
' File(s) exist
If
File.Exists(Trim(Paste_FolderName) & "\" &
Trim(ListFile.Items.Item(k)))
Then
i = 0
BegPt1:
VString = "Copy (" & Str(i) & ") of " &
Trim(ListFile.Items.Item(k))
If
File.Exists(Trim(Paste_FolderName) & "\" & VString)
Then
i = i + 1
GoTo
BegPt1
Else
File.Copy(Trim(CInitFolder) & "\" &
Trim(ListFile.Items.Item(k)), Trim(Paste_FolderName) & "\"
& VString)
ListView_Sub(VString, Paste_FolderName, 1)
End
If
Else
File.Copy(Trim(CInitFolder) & "\" &
Trim(ListFile.Items.Item(k)), Trim(Paste_FolderName) & "\"
& Trim(ListFile.Items.Item(k)))
ListView_Sub(ListFile.Items.Item(k), Paste_FolderName,
1)
End
If
Next
k
End
If
' Paste Folder
''''''''''''''''''''''''''' ListView1 '''''''''''''''
Me.ListFile.Items.Clear()
If
Me.ListFolder.Items.Count
> 0 Then
For
j = 0 To
Me.ListFolder.Items.Count
- 1
' Folder(s) exist
If
Directory.Exists(Trim(Paste_FolderName) & "\" &
Trim(ListFolder.Items.Item(j)))
Then
i = 0
BegPt2:
VString = "Copy (" & Str(i) & ") of " &
Trim(ListFolder.Items.Item(j))
If
Directory.Exists(Trim(Paste_FolderName) & "\" & VString)
Then
i = i + 1
GoTo
BegPt2
Else
fso.CopyFolder(Trim(CInitFolder) & "\" &
Trim(ListFolder.Items.Item(j)), Trim(Paste_FolderName) &
"\" & VString, False)
ListView_Sub(Trim(Paste_FolderName & "\" & VString),
"", 0)
''''' TreeView,
Add nodes
childnode = New
TreeNode(VString.ToString, 0, 1)
childnode.Tag = Trim(Paste_FolderName) & "\" & VString
vare.Node.Nodes.Add(childnode)
End
If
Else
fso.CopyFolder(Trim(CInitFolder) & "\" &
Trim(ListFolder.Items.Item(j)), Trim(Paste_FolderName) &
"\" & Trim(ListFolder.Items.Item(j)),
False)
ListView_Sub(Trim(Paste_FolderName) & "\" &
Trim(ListFolder.Items.Item(j)), "", 0)
''''' TreeView,
Add nodes
childnode = New
TreeNode(Trim(ListFolder.Items.Item(j)).ToString, 0, 1)
childnode.Tag = Trim(Paste_FolderName) & "\" &
Trim(ListFolder.Items.Item(j))
vare.Node.Nodes.Add(childnode)
End
If
Next
End
If
'''''''''''''''''''''''''''' TreeView ''''''''
' TreeView,
images
If
vare.Node.Nodes(VListView_select).Parent.ImageIndex = 1
Then
vare.Node.Nodes(VListView_select).Parent.ImageIndex = 0
If
vare.Node.Nodes(VListView_select).ImageIndex = 1
Then
vare.Node.Nodes(VListView_select).ImageIndex = 0
' TreeView,
Previous node open (selected) - modify the image
If
PrevNode.SelectedImageIndex = 1
Then
PrevNode.SelectedImageIndex = 0
' TreeView,
Previous node open (selected)
PrevNode = vare.Node
vare.Node.Expand()
'''''''''''''''''''''''''''''''''''''
' To Delete
Function
Me.ToolBarButton17.Enabled
= False
Me.mnuDelete.Enabled
= False
Me.mnupopdelete.Enabled
= False
End
If
End
Sub
' Delete
Function, Remove Delete Folders from Listiview & TreeView
Private
Sub
Delete_Sub()
Dim
listcount As
Integer
Dim
childnode As
TreeNode
On
Error
Resume
Next
' Delete the
file(s), deleteFile Function
''''''''''''''''''''''''''' ListView1 '''''''''''''''
If
Count2 > 0 Then
For
k = 0 To
Count2 - 1
' File(s) exist
If
File.Exists(Trim(Paste_FolderName) & "\" &
Trim(AFileName(k)))
Then
File.Delete(Trim(Paste_FolderName) & "\" &
Trim(AFileName(k)))
End
If
Next
k
End
If
If
Count1 > 0 Then
For
j = 0 To
Count1 - 1
' Folder(s) exist
If
Directory.Exists(Trim(Paste_FolderName) & "\" &
Trim(AFolderName(j)))
Then
' Delete Folder
Directory.Delete(Trim(Paste_FolderName) & "\" &
Trim(AFolderName(j)),
True)
'''''''''''''
TreeView ''''''''''''''''''''''''
' TreeView,
Remove the nodes corresponding ...
For
i = 0 To
vare.Node.GetNodeCount(False)
- 1
If
vare.Node.Nodes(i).Text = Trim(AFolderName(j))
Then
vare.Node.Nodes.RemoveAt(i)
End
If
Next
i
End
If
'''''''''''''''''''''''''''''''''''''''''''''''''''
Next
j
End
If
' Remove folder &
File from Listview
ListView1.Items.Clear()
Dir2.Refresh()
File1.Refresh()
Dir2.Path = Paste_FolderName
If
Dir2.DirListCount > 0
Then
For
k = 0 To
Dir2.DirListCount - 1
ListView_Sub(Dir2.DirList(k), " ", 0)
Next
End
If
File1.Path = Dir2.Path
If
File1.Items.Count > 0
Then
For
k = 0 To
File1.Items.Count - 1
ListView_Sub(File1.Items(k), Dir2.Path, 1)
Next
End
If
' To Delete
Function
Me.ToolBarButton17.Enabled
= False
Me.mnuDelete.Enabled
= False
Me.mnupopdelete.Enabled
= False
End
Sub
Private
Sub
ListView1_DoubleClick(ByVal
sender As
Object,
ByVal
e As
System.EventArgs)
Handles ListView1.DoubleClick
Dim
VName As
String
Dim
vlen As
Integer
Dim
childnode As
TreeNode
On
Error
Resume
Next
' StatusBar
Me.StatusBarPanel1.Text
= "Listview selected - " &
ListView1.SelectedItems.Item(0).Text()
' Listview, index
of the item selected
VListView_select = 0
' Menu Items &
Toolbar Buttons - Copy, Paste and delete is disabled
If
Copy_Flag = True
Then
Me.ToolBarButton15.Enabled
= True
Me.mnuPaste.Enabled
= True
Me.mnupoppaste.Enabled
= True
Else
Me.ToolBarButton15.Enabled
= False
Me.mnuPaste.Enabled
= False
Me.mnupoppaste.Enabled
= False
End
If
Me.ToolBarButton13.Enabled
= False
Me.mnuCopy.Enabled
= False
Me.mnupopcopy.Enabled
= False
Me.ToolBarButton17.Enabled
= False
Me.mnuDelete.Enabled
= False
Me.mnupopdelete.Enabled
= False
Dir2.Path = VDirectory
If
ListView1.SelectedItems.Item(0).ImageIndex = 0
Then
Me.TxtAddress.Text
= VDirectory & "\" &
ListView1.SelectedItems.Item(0).Text()
VDirectory = Me.TxtAddress.Text
' Folder Size
d = New
DirectoryInfo(Me.TxtAddress.Text)
DirectorySize(d)
End
If
vlen = 0
VName = VDirectory
For
i = 0 To
Len(VDirectory) - 1
If
Microsoft.VisualBasic.Right(VName, 1) = "\"
Then
vlen = vlen + 1
Exit
For
Else
vlen = i + 1
VName = Microsoft.VisualBasic.Left(VName, (Len(VName) -
1))
End
If
Next
VName = Microsoft.VisualBasic.Right( Me.TxtAddress.Text,
vlen - 1)
' Listview, index
of the item selected
If
Dir2.DirListCount > 0
Then
For
k = 0 To
Dir2.DirListCount - 1
If
Dir2.DirList(k) = Dir2.Path & "\" & VName
Then
' Listview, index
of the item selected
VListView_select = k
Exit
For
End
If
Next
End
If
Me.ListView1.Items.Clear()
Dir2.Path = Me.TxtAddress.Text
If
Dir2.DirListCount > 0
Then
For
k = 0 To
Dir2.DirListCount - 1
ListView_Sub(Dir2.DirList(k), " ", 0)
Next
End
If
' File, Add Items
File1.Path = Dir2.Path
If
File1.Items.Count > 0
Then
For
k = 0 To
File1.Items.Count - 1
ListView_Sub(File1.Items(k), Dir2.Path, 1)
Next
End
If
''''''''''''''''''''''' TreeView1 ''''''''''''
'Sub Nodes ...
Dir2.Path = Me.TxtAddress.Text
If
Dir2.DirListCount > 0
Then
For
j = 0 To
Dir2.DirListCount - 1
' Node String ...
VName = Dir2.DirList(j)
For
i = 0 To
Len(Dir2.DirList(j)) - 1
If
Microsoft.VisualBasic.Right(VName, 1) = "\"
Then
VName = Microsoft.VisualBasic.Right(Dir2.DirList(j),
vlen)
Exit
For
Else
vlen = i + 1
VName = Microsoft.VisualBasic.Left(VName, (Len(VName) -
1))
End
If
Next
' Add nodes ...
childnode = New
TreeNode(VName.ToString, 0, 1)
childnode.Tag = Dir2.DirList(j)
vare.Node.Nodes(VListView_select).Nodes.Add(childnode)
Next
j
End
If
' TreeView,
images
If
vare.Node.Nodes(VListView_select).Parent.ImageIndex = 1
Then
vare.Node.Nodes(VListView_select).Parent.ImageIndex = 0
If
vare.Node.Nodes(VListView_select).ImageIndex = 1
Then
vare.Node.Nodes(VListView_select).ImageIndex = 0
' TreeView,
Previous node open (selected) - modify the image
If
PrevNode.SelectedImageIndex = 1
Then
PrevNode.SelectedImageIndex = 0
' TreeView,
Previous node open (selected)
PrevNode = vare.Node.Nodes(VListView_select)
vare.Node.Nodes(VListView_select).ImageIndex = 1
vare.Node.Nodes(VListView_select).Expand()
End
Sub
' SiZe, Folder
Selected
Private
Sub
DirectorySize(ByVal
d As
DirectoryInfo)
DirSize = 0
' file sizes.
Dim
fis As
FileInfo() = d.GetFiles()
Dim
fi As
FileInfo
For
Each
fi In
fis
DirSize += fi.Length
Next
fi
' subdirectory
sizes.
Dim
dis As
DirectoryInfo() = d.GetDirectories()
Dim
di As
DirectoryInfo
Dim
dsize As
Long
For
Each
di In
dis
fis = di.GetFiles()
For
Each
fi In
fis
DirSize += fi.Length
Next
fi
DirSize += DirSize
Next
di
If
Int((DirSize / (1024 * 1024))) = 0
Then
Me.StatusBarPanel2.Text
= "Folder Size = " & Str(Int((DirSize / (1024)))) & " KB"
Else
Me.StatusBarPanel2.Text
= "Folder Size = " & Str(Int((DirSize / (1024 * 1024)))) &
" MB"
End
If
End
Sub
End
Class |