ListView 类
https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.listview?view=netcore-3.1
列表视图ListView控件是由Control类继承而来。ListView控件主要厍来显示列表选项。用该控件可以创建一个类似于Windows Explorer右边视图的界面。ListView控件可以显示为4种显示模式,包括大图标、小图标、列表和详细列表。
显示模式由属性View来指定,该属性的数据类型是System.Windows.Forms F定义的枚举类型View,取值可能有:
- Details,表示详细列表;
- Largelcon,大图标显示;
- List,列表显示;
- Smalllcon,小图标显示
在ListView控件中显示的各项由Items属性指定。Items属性是一个集合,它有下列方法;
- Add,加入一个选项;
- Clear,清除所有选项;
- Remove,清除其中一个选项。
ListView控件的另外两个常用属性是LargelmageList和SmalllmageList.表示大图标显示和小图标显示时,可以使用哪些图标集合。
ListView控件的Items集合属性所具有的Add方法有两个参数,一个是要加入的项(比如字符串等),另一个参数是该项对应于ListlmageList属性中的图片索引号。
Public Class Form1
Private Function getdiretory(ByVal str As String) As String()
Dim direc() As String = IO.Directory.GetDirectories(str)
Return direc
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim diretoryname() As String
diretoryname = IO.Directory.GetDirectories("J:\")
Dim iCount As Integer
For iCount = 0 To diretoryname.GetUpperBound(0)
ListView1.Items.Add(diretoryname(iCount), 0)
Next
End Sub
Private Sub btnCon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCon.Click
Dim dn As String
dn = Trim(InputBox("输入一个文件夹"))
If Not IO.Directory.Exists(dn) Then
MsgBox("文件夹不存在")
Exit Sub
End If
IO.Directory.SetCurrentDirectory(dn)
Dim dname() As String
dname = IO.Directory.GetDirectories(dn)
Dim icount As Integer
For icount = 0 To dname.GetUpperBound(0)
ListView1.Items.Add(dname(icount), 0)
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListView1.View = View.List
End Sub
Private Sub ListView1_ItemActivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.ItemActivate
Dim dn As String
dn = ListView1.SelectedItems.Item(0).Text
'MsgBox(dn)
IO.Directory.SetCurrentDirectory(dn)
Dim dname() As String
dname = IO.Directory.GetDirectories(dn)
If dname.Length = 0 Then
MsgBox("没有子文件夹")
Exit Sub
Else
ListView1.Clear()
End If
Dim icount As Integer
For icount = 0 To dname.GetUpperBound(0)
ListView1.Items.Add(dname(icount), 0)
Next
End Sub
End Class