2025-02-11 14:03:58 +01:00

62 lines
2.5 KiB
VB.net

Imports System.IO
Public Class frmOrderFiles
Public fileResults As List(Of String)
Public oTitle As String
Private Sub frmOrderFiles_Shown(sender As Object, e As EventArgs) Handles Me.Shown
OpenFileDialog1.Title = oTitle
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
ListView1.Items.Clear()
For Each file As String In OpenFileDialog1.FileNames
Dim item As New ListViewItem(Path.GetFileName(file))
item.Tag = file ' Speichere den vollständigen Pfad im Tag
ListView1.Items.Add(item)
Next
Else
Me.Close()
End If
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
fileResults = New List(Of String)
For Each item As ListViewItem In ListView1.Items
fileResults.Add(item.Tag.ToString())
Next
Me.Close()
End Sub
Private Sub SimpleButton2_Click(sender As Object, e As EventArgs) Handles SimpleButton2.Click
Me.Close()
End Sub
Private Sub ListView1_MouseDown(sender As Object, e As MouseEventArgs) Handles ListView1.MouseDown
' Starte den Drag & Drop-Vorgang, wenn ein Item ausgewählt ist
If ListView1.SelectedItems.Count > 0 Then
ListView1.DoDragDrop(ListView1.SelectedItems(0), DragDropEffects.Move)
End If
End Sub
Private Sub ListView1_DragOver(sender As Object, e As DragEventArgs) Handles ListView1.DragOver
' Erlaube das Verschieben von Items innerhalb der ListView
e.Effect = DragDropEffects.Move
End Sub
Private Sub ListView1_DragDrop(sender As Object, e As DragEventArgs) Handles ListView1.DragDrop
' Füge das Item an der neuen Position ein und entferne es von der alten Position
Dim point As Point = ListView1.PointToClient(New Point(e.X, e.Y))
Dim hoverItem As ListViewItem = ListView1.GetItemAt(point.X, point.Y)
Dim draggedItem As ListViewItem = CType(e.Data.GetData(GetType(ListViewItem)), ListViewItem)
If hoverItem Is Nothing Then
' Wenn kein Item unter dem Mauszeiger ist, füge das Item am Ende hinzu
ListView1.Items.Add(DirectCast(draggedItem.Clone(), ListViewItem))
Else
' Füge das Item vor dem hoverItem ein
ListView1.Items.Insert(hoverItem.Index, DirectCast(draggedItem.Clone(), ListViewItem))
End If
' Entferne das ursprüngliche Item
ListView1.Items.Remove(draggedItem)
End Sub
End Class