Yazı Font Küçült Yazı Font Büyült

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.

Resim1

Şekil 1

Resim2

Ş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