【发布时间】:2012-04-09 17:43:51
【问题描述】:
我正在维护一个 Windows 应用程序,该应用程序在一个窗口中具有多个表单(form1、form2、form3)。目前,我将其他 form2 和 form3 视为黑匣子。在 form1 中,我有一个 TreeView,我正在该 TreeView 中实现拖放功能。
如何防止在 form1 控件之外放置?
我正在实现 3 个事件处理程序:
private void treeView_ItemDrag (...)
{
DoDragDrop(e.Item, DragDropEffects.Move);
}
private void treeView_DragEvent (...)
{
e.Effect = DragDropEffects.Move;
}
private void treeView_DragDrop (...)
{
//the node move logic here
}
form2 和form3 之间有拖放关系,所以当我将节点从form1 拖到form3 时,默认情况下它允许移动(坏)。我希望能够从 form1 控制代码中防止这种情况发生。
如何防止在form1 控件之外的操作?我查看了 _DragLeave 事件,但不确定如何在没有 DragEventArgs 的情况下控制操作。
【问题讨论】:
标签: c# winforms drag-and-drop treeview treenode