Vb.net 拖放到checkedlistbox

Vb.net 拖放到checkedlistbox,vb.net,drag-and-drop,Vb.net,Drag And Drop,我有一个checkedlistbox,我只想拖放图像扩展名,而不是文本文件。 那我该怎么做呢。 我可以拖放所有文件格式,但我只需要图像文件。 这是我的密码: Private Sub CheckedListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles CheckedListBox1.DragDrop Dim Files As String() = C

我有一个checkedlistbox,我只想拖放图像扩展名,而不是文本文件。 那我该怎么做呢。 我可以拖放所有文件格式,但我只需要图像文件。 这是我的密码:

Private Sub CheckedListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles CheckedListBox1.DragDrop

    Dim Files As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
    For Each FileName As String In Files
        CheckedListBox1.Items.Add(FileName, CheckState.Checked)
        Thumbcontrol1.AddThumbnail(FileName)
    Next
End Sub

Private Sub CheckedListBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles CheckedListBox1.DragEnter
    If e.Data.GetDataPresent(DataFormats.FileDrop) Then
        e.Effect = DragDropEffects.Copy
    End If
End Sub

只需检查每个文件名的扩展名

Private Shared ReadOnly SupportedExtensions As String() = {".jpg", ".jpeg", ".gif"}

Private Sub CheckedListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles CheckedListBox1.DragDrop
    Dim Files As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
    For Each FileName As String In Files
        Dim Extension As String = Path.GetExtension(FileName).ToLower
        If Array.IndexOf(SupportedExtensions, Extension) <> -1 Then
            CheckedListBox1.Items.Add(FileName, CheckState.Checked)
            Thumbcontrol1.AddThumbnail(FileName)
        End If
    Next
End Sub
Private Shared ReadOnly支持扩展为String()={.jpg“,.jpeg“,.gif”}
私有子CheckedListBox1_DragDrop(ByVal sender作为对象,ByVal e作为System.Windows.Forms.DragEventArgs)处理CheckedListBox1.DragDrop
Dim文件格式为String()=CType(例如,Data.GetData(DataFormats.FileDrop),String())
对于每个文件名,将其作为文件中的字符串
Dim扩展名为String=Path.GetExtension(FileName).ToLower
如果Array.IndexOf(SupportedExtensions,Extension)-1,则
CheckedListBox1.Items.Add(文件名,CheckState.Checked)
Thumbcontrol1.AddThumbnail(文件名)
如果结束
下一个
端接头
您可能希望向DragEnter方法添加类似的代码,以显示DragDropEffects。如果拖动的文件列表中没有图片文件,则为None。

类似的内容(您需要添加更多文件扩展名):


您还需要考虑文件名的大小写。

您不能检查每个
文件名的扩展名吗?
?我知道,但我的问题是如何添加代码?只需交换for循环中的两个语句即可。因此,当图像加载代码失败时,它不会被添加。非常感谢您的快速响应,您真的节省了我的时间。
Dim Files As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
For Each FileName As String In Files
    If FileName.Contains(".jpg") Or FileName.Contains(".bmp") Then
       CheckedListBox1.Items.Add(FileName, CheckState.Checked)
       Thumbcontrol1.AddThumbnail(FileName)
    End If
Next