VB.NET还是比较常用的,于是我研究了一下VB.NET ListBox控件,在这里拿出来和大家分享一下,希望对大家有用。在windows中拖放通常是复制或移动文件,windows完全支持该功能,而且对许多用户来说这也是操作文件的优选方式。除此之外,用户已经习惯了把文件拖动到一个程序来打开文件的方式,像拖动一个doc文件到word来打开。
在这个例子中用从windows资源管理器拖来的文件来操作VB.NET ListBox控件。向窗体中添加一个VB.NET ListBox控件,并设置其AllowDrop属性为True,并添加如下代码:
- Private Sub ListBox1_DragEnter(ByVal sender As Object, ByVal e As _
- System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- e.Effect = DragDropEffects.All
- End If
- End Sub
- Private Sub ListBox1_DragDrop(ByVal sender As Object, ByVal e As _
- System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- Dim MyFiles() As String
- Dim i As Integer
- ' Assign the files to an array.
- MyFiles = e.Data.GetData(DataFormats.FileDrop)
- ' Loop through the array and add the files to the list.
- For i = 0 To MyFiles.Length - 1
- ListBox1.Items.Add(MyFiles(i))
- Next
- End If
- End Sub
你可能已经注意到了DragEnter事件中的Effect属性被设置成DragDropEffects.All。因为文件本身并不是真的就被复制或移动了,因此源控件设置成哪个AllowedEffects并没有关系,所以指定All对任何FileDrop都可以。
在上面的例子中FileDrop格式包含了每个被拖动文件的全路径。
【编辑推荐】