ListBox Drag Drop (Sürükle-Bırak)
Bu makalemizde Listbox ta drag drop yani sürükle bırak konusunun inceleyeceğiz. Bunun için formumuza 2 adet listbox ekleyin. Aşağıdaki şekildeki gibi dizayn ediniz. Listbox1 deki istenilen bilgileri sürükle bırak metodu ile Listbox2 ye ekleyeceğiz ve Listbox1 den sileceğiz.
Not: Sürükle bırakı gerçekleştirebilmemiz için; Listbox1 ve Listbox2 de AllowDrop özelliğini True yapın.
Şekil 1
Şekil 2
Forma yazılacak kodlar:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With Me
.Text = "Listbox Drag Drop"
.MaximizeBox = False
End With
End Sub
Private Sub ListBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
Dim snoktalar As Point = New Point(e.X, e.Y)
Dim item_indis As Integer = ListBox1.IndexFromPoint(snoktalar)
If item_indis = -1 Then
MessageBox.Show("Boş bir alana tıkladınız. Boş alanda drag & drop gerçekleştiremezsiniz.")
End If
If (e.Button = Windows.Forms.MouseButtons.Left) Then
ListBox1.DoDragDrop(ListBox1.Items(item_indis), DragDropEffects.All)
End If
End Sub
Private Sub ListBox2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox2.DragDrop
‘Listbox2 ye ekliyoruz ListBox2.Items.Add(e.Data.GetData(DataFormats.Text))
‘Listbox2 ye eklenen item i Listbox1 den kaldırıyoruz ListBox1.Items.Remove(e.Data.GetData(DataFormats.Text))
End Sub
Private Sub ListBox2_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox2.DragOver
If e.KeyState = 1 Then
e.Effect = DragDropEffects.All
End If
End Sub
End Class
‘Faydalı olması dileğiyle. Bir sonraki makalede buluşmask üzere...Bahadirsa