C# listview içinde yerdeğiştirme dragdrop yapma

Anasayfa Forumlar Bilişim Teknolojileri C# Yazılım Geliştirme C# listview içinde yerdeğiştirme dragdrop yapma

Etiket: , ,

1 yazı görüntüleniyor (toplam 1)
  • Yazar
    Yazılar
  • #348
    admin
    Anahtar yönetici

     

    Önce listview properties den

    FullRowSelect >> true
    AllowDrop >> true
    Listview olayları

    _ItemDrag
    _DragEnter
    _DragDrop

    private void grup_listesi_ItemDrag(object sender, ItemDragEventArgs e)
    {
    grup_listesi.DoDragDrop(grup_listesi.SelectedItems, DragDropEffects.Move);
    }

    private void grup_listesi_DragEnter(object sender, DragEventArgs e)
    {
    e.Effect = DragDropEffects.Move;
    }

    private void grup_listesi_DragDrop(object sender, DragEventArgs e)
    {
    if (grup_listesi.SelectedItems.Count == 0) { return; }
    Point Pt = grup_listesi.PointToClient(new Point(e.X, e.Y));
    ListViewItem ItemDrag = grup_listesi.GetItemAt(Pt.X, Pt.Y);

    if (ItemDrag == null) { return; }

    int ItemDragIndex = ItemDrag.Index;
    ListViewItem[] hucre = new ListViewItem[grup_listesi.SelectedItems.Count];
    for(int i = 0; i < grup_listesi.SelectedItems.Count; i++)
    {
    hucre[i] = grup_listesi.SelectedItems[i];

    }

    for(int i = 0; i < hucre.GetLength(0); i++)
    {
    ListViewItem Item = hucre[i];
    int ItemIndex = ItemDragIndex;
    if (ItemIndex == Item.Index) { return; }
    if (Item.Index < ItemIndex) { ItemIndex++; }

    else
    { ItemIndex = ItemDragIndex + 1; }

    ListViewItem InsertItem = (ListViewItem)Item.Clone();
    grup_listesi.Items.Insert(ItemIndex, InsertItem);
    grup_listesi.Items.Remove(Item);

    }

    }

     

    denedim çalışıyor. Tabi renklendirip güzelleştirebilirsiniz.

1 yazı görüntüleniyor (toplam 1)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.