禁用拖动&根据条件下降

时间:2015-07-23 07:54:59

标签: c# winforms drag-and-drop treeview

我正在尝试允许/禁止基于Tag对象中的标记拖放树视图。 但我无法找到适当的事件(类似于BeforeDrag)。

我正在使用C#和winforms,谢谢。

2 个答案:

答案 0 :(得分:4)

Ralf是对的,我所要做的就是在ItemDrag回调中添加支票。

private void tree_ItemDrag(object sender, ItemDragEventArgs e)
{
    var node = (e.Item as TreeNode).Tag as DataObject;
    if(!node.IsFrozen)
       DoDragDrop(e.Item, DragDropEffects.Move);
    else
        MessageBox.Show("Frozen nodes cannot be moved", "Drag & Drop error", 
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
}

答案 1 :(得分:1)

在你的拖拽功能中尝试各种各样的东西:

xaml.cs