Пример #1
0
        private void tvFolders_DragDrop(object sender, DragEventArgs e)
        {
            DataTreeView tv = (DataTreeView)sender;

            if (e.Data.GetDataPresent(typeof(DataGridViewSelectedRowCollection)))
            {
                Point      clientPoint  = tv.PointToClient(new Point(e.X, e.Y));
                TreeNode   selectedNode = tv.GetNodeAt(clientPoint);
                ITreeItems treeItems    = (ITreeItems)dgvTreeItems.DataSource;
                ITreeItem  selectedItem = treeItems.FirstOrDefault(i => i.IdString == selectedNode.Tag.ToString());
                if (selectedItem is IFolder)
                {
                    IFolder   parent   = selectedItem as IFolder;
                    IContacts contacts = (IContacts)dgvContacts.DataSource;
                    foreach (DataGridViewRow dgvr in (DataGridViewSelectedRowCollection)e.Data.GetData(typeof(DataGridViewSelectedRowCollection)))
                    {
                        IContact         contact = (IContact)dgvr.DataBoundItem;
                        List <ITreeItem> items   = contacts.CreateLink(parent, contact);
                    }
                }
            }
        }