类Windows资源管理器程序

    本来只是单纯想做一个文件遍历程序的,但是无意中就有点像Windows自带的资源管理器,所以发出来玩玩,有兴趣的朋友可以进一步改写!如果大家的升级版本比我的好,请Open Source哦···

    下面给出全部代码:

Imports System.IO

Public Class FrmMain

    
Private DirPath As String = Nothing     '设置的根目录路径
    Private Sum As Integer = 0
    
Private Visited As Integer = 0

    
Private SuccessStr As String = Nothing  '定义正确字符串变量
    Private ErrStr As String = Nothing      '定义错误字符串变量

    
Private oImageList As System.Windows.Forms.ImageList = Nothing

    
Delegate Function Add_Delegate(ByVal _Node As TreeNode) As Integer
    
Delegate Sub ImageList_Add_Delegate(ByVal key As StringByVal icon As System.Drawing.Icon)

    
Private Sub Write_Stutelb1(ByVal _Str As String)
        
If (Me.IsDisposed = False AndAlso Me.StatuslbFilePath.IsDisposed = FalseThen
            
Me.StatuslbFilePath.Text = _Str
        
End If
    
End Sub


    
Private Sub Write_lb(ByVal _Str As String)
        
If (Me.IsDisposed = False AndAlso Me.lbProgress.IsDisposed = FalseThen
            
Me.lbProgress.Text = _Str
        
End If
    
End Sub


窗体加载事件

浏览按钮

开始搜索按钮

向树形列表中填充数据--FillTreeData(Path)

遍历目录子过程--Traversal(_TreeNode)

获取目录

    
Private Sub Traversal_Complete(ByVal ar As IAsyncResult)
        
Dim _Action As Action(Of TreeNode) = DirectCast(DirectCast(ar, Runtime.Remoting.Messaging.AsyncResult).AsyncDelegate, Action(Of TreeNode))
        
Dim _msg As String = DirectCast(ar.AsyncState, String)

        Console.WriteLine(_msg)
        _Action.EndInvoke(ar)
    
End Sub


    
Private Sub Setpb_Maximum(ByVal value As Integer)
        
Me.pb.Maximum = value
    
End Sub


    
Private Sub Setpb_Value(ByVal value As Integer)
        
If (value > Me.pb.Maximum) Then Exit Sub
        
Me.pb.Value = value
        
Dim g As Graphics = Me.pb.CreateGraphics()
        g.DrawString(
String.Format("{0}%"CStr(CInt((value / Me.Sum) * 100))), New Font("宋体"12.0!, FontStyle.Bold), Brushes.Black, Me.pb.Width / 2 - 123)
    
End Sub


获取文件

关闭按钮

向列表框中填充数据--FillListData(Path)

树形列表鼠标双击事件

删除菜单事件

TreeView鼠标拖拽事件

End Class

 

 

posted @ 2009-03-05 20:58  ajayumi  阅读(410)  评论(0)    收藏  举报