TreeView kontrolündeki TreeNode kontrollerinin sürükle - bırak yöndetmiyle nasıl taşındığına göz atacağız.
1. TreeView kontrolünü sürükle bırak işlemine uygun hale getirelim.
treeView1.AllowDrop = True;
2.TreeView kontrolünün DragEnter olayı metodu içerisinde sürükle bırak efekti belirtilir.
e.Effect = DragDropEffects.Move;
3.TreeView ItemDrag olayı metodunda, DragDrop olayını tetikliyoruz.
if (e.Button == MouseButtons.Left)
DoDragDrop(e.Item, DragDropEffects.Move);
4. Son olarak TreeView kontrolünün DragDrop olayı metodu içerisinde, taşınmak istenilen TreeNode kontrolünün taşıma işlemi gerçekleştirilir.
TreeNode yeniNode;
if( e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
{
Point pt;
TreeNode hedefNode;
pt = treeView1.PointToClient(new Point(e.X, e.Y));
hedefDugum= treeView1.GetNodeAt(pt);
yeniDugum= (TreeNode) e.Data.GetData("System.Windows.Forms.TreeNode");
if(!destinationNode.Equals(yeniDugum))
{
//Taşınan TreeNode kontrolü yeni yerine ekleniyor.
hedefDugum.Nodes.Add((TreeNode) yeniDugum.Clone());
hedefDugum.Expand();
//Taşınan TreeNode kontrolü eski yerinden siliniyor.
yeniDugum.Remove();
}
}
En Son Yorumlar