كنترل treeview و ليست درايوها
كار با فايلها و دايركتوري
در VB.NET براي كار با فايلها و دايركتوريها دو كلاس مجزاي File و Directory تعبيه شده است كه چندان مشكل نيستند.
براي گرفتن درايو هاي سيستم (محلي و مجازي) و نمايش آنها در كنترل Treeview بصورت زير عمل ميكنيم.
يك روال بنام Loadtreeview ايجاد كرده و در load فرم اصلي آنرا فرا مي خوانيم :
Imports System.IO
Private Const mydrives As String = " mydrives"
'*******
Private Sub frmmain_Load(……..)
Loadtreeview()
End Sub
'*******
Private Sub Loadtreeview()
Dim DriveStr As String
Treeview1.Nodes.Clear()
For Each DriveStr In Directory.GetLogicalDrives()
With Treeview1.Nodes.Add(DriveStr)
.Nodes.Add(mydrives)
End With
Next
End Sub
اگر برنامه را با همين كدها اجرا كني متوجه ميشوي كه mydrives اين وسط چكار ميكند.تا اينجا فقط درايوهاي سيستم شناسايي و ليست شدند. حال بايد بتوانيم فولدرهاي موجود در درايوها و فايلهاي موجود در پوشه ها يا درايوها را به treeview اضافه كنيم.كنترل Treeview داراي رويدادي بنام BeforeExpand است كه قبل از اينكه يك گره باز شود اتفاق مي افتد.ما اضافه كردن فولدرها و فايلها را در اين رويداد مينويسيم تا به هنگام باز شدن گره ها فايلها و فولدرها در آن مشخص باشند.
Private Sub TreeView1_BeforeExpand(.....)
Try
e.Node.Nodes.Clear()
AddFolders(e.Node)
AddFiles(e.Node)
Catch exp As Exception
MessageBox.Show(exp.ToString, Me.Text)
End Try
End Sub
'**********
Private Sub AddFolders(ByVal nod As TreeNode)
Dim strPath As String = nod.FullPath
Dim strDir As String
With nod
For Each strDir In Directory.GetDirectories(strPath)
With nod.Nodes.Add(Path.GetFileName(strDir))
.Tag = ItemType.Directory
.Nodes.Add(DUMMY)
End With
Next
End With
End Sub
'*********
Private Sub AddFiles(ByVal nod As TreeNode)
Dim strPath As String = nod.FullPath
Dim strFile As String
With nod
For Each strFile In Directory.GetFiles(strPath)
With nod.Nodes.Add(Path.GetFileName(strFile))
.Tag = ItemType.File
End With
Next
End With
End Sub
البته كارهاي زيادي ميشه با اين ليست فايلها كرد.مثلا جزئياتفايلها را در listview ببينيم و يا خصوصيات ريز فايلها را ليست كنيم و كارهايديگه.
تفاوت فايلهاي Exe در Vb.net
تفاوت دو فايل اجرايي از برنامه هاي نوشته شده در VB.NET كه در داخل پوشه هاي Bin و Obj\Release قرار دارند چيه؟
بعدش : كداميك از اين دو فايل نصيب كاربر ميشود؟