Hi, ich möchte gerne eine Datei (in meinem Fall Images) aus einer ListView löschen.
Allerdings sollen diese Dateien auch aus dem realen Ordner auf der Festplatte gelöscht werden!
Ich habe es nur hinbekommen, dass die Datei in dem angezeigten Ordner des Programmes verschwindet.
Allerdings sollen diese Dateien auch aus dem realen Ordner auf der Festplatte gelöscht werden!
Ich habe es nur hinbekommen, dass die Datei in dem angezeigten Ordner des Programmes verschwindet.
VB.NET-Quellcode
- Option Strict On
- Public Class Form1
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Try
- FolderBrowserDialog1.ShowDialog()
- For Each item As String In My.Computer.FileSystem.GetFiles(FolderBrowserDialog1.SelectedPath, FileIO.SearchOption.SearchTopLevelOnly)
- ImageList1.Images.Add(New Bitmap(item, False).GetThumbnailImage(100, 100, Nothing, IntPtr.Zero))
- ListView1.Items.Add(My.Computer.FileSystem.GetName(item), ImageList1.Images.Count - 1)
- ListBox1.Items.Add(item)
- Next
- Catch ex As Exception
- End Try
- End Sub
- Private Sub ListView1_ItemSelectionChanged(sender As Object, e As ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
- Dim x As Integer = Nothing
- If e.IsSelected Then
- Try
- ListBox1.SelectedIndex = ListView1.SelectedIndices(0)
- Catch ex As Exception
- End Try
- End If
- End Sub
- Dim ttip As New ToolTip()
- Dim _dragActive As Boolean = False
- Dim _dragName As String = Nothing
- Private Sub ListView1_ItemDrag(sender As Object, e As ItemDragEventArgs) Handles ListView1.ItemDrag
- Dim lvItem As ListViewItem = DirectCast(e.Item, ListViewItem)
- _dragActive = True
- _dragName = ListBox1.SelectedItem.ToString()
- Timer1.Start()
- End Sub
- Private Sub _MouseUp(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseUp
- If e.Button = MouseButtons.Left AndAlso _dragActive Then
- PictureBox1.Load(ListBox1.SelectedItem.ToString())
- End If
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- If _dragActive = True AndAlso MouseButtons.HasFlag(MouseButtons.Left) Then
- Dim cp = Cursor.Position
- cp.Y += CInt(Cursor.Size.Height * 1.5)
- ttip.Show(_dragName, Me, PointToClient(cp))
- Else
- ttip.Hide(Me)
- _dragActive = False
- End If
- End Sub
- Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
- End Sub
- Private Sub ListView1_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles ListView1.MouseDoubleClick
- Form2.PictureBox1.Load(ListBox1.SelectedItem.ToString())
- Form2.Show()
- End Sub
- Private Sub FileSystemWatcher1_Changed(sender As Object, e As IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed, FileSystemWatcher1.Deleted, FileSystemWatcher1.Created
- Try
- ImageList1.Images.Add(New Bitmap(e.FullPath, False).GetThumbnailImage(200, 200, Nothing, IntPtr.Zero))
- ListView1.Items.Add(My.Computer.FileSystem.GetName(e.FullPath), ImageList1.Images.Count - 1)
- ListBox1.Items.Add(e.FullPath)
- Catch ex As Exception
- End Try
- End Sub
- Private Sub ListView1_MouseClick(sender As Object, e As MouseEventArgs) Handles ListView1.MouseClick
- If e.Button = MouseButtons.Right Then
- Dim message As String =
- "Wollen Sie die Datei löschen?"
- Dim caption As String = "Datei löschen"
- Dim result = MessageBox.Show(message, caption,
- MessageBoxButtons.YesNo,
- MessageBoxIcon.Question)
- If (result = DialogResult.No) Then
- Return
- End If
- If (result = DialogResult.Yes) Then
- Try
- 'Remove single item
- ListView1.Items.RemoveAt(ListView1.SelectedIndices(0))
- 'Remove Multiple Selected Items
- For Each item As ListViewItem In ListView1.SelectedItems
- item.Remove()
- Next
- 'Select Item at last index
- ListView1.Items(ListView1.Items.Count - 1).Selected = True
- Catch ex As Exception
- End Try
- End If
- End If
- End Sub
- End Class