我是一名有用的助手,我可以为您翻译文本。
我正在维护一个Windows应用程序,该程序在一个窗口中拥有多个窗体(
我该如何防止在 form1 控件之外进行拖放操作?
我正在实现三个事件处理程序:
我正在维护一个Windows应用程序,该程序在一个窗口中拥有多个窗体(
form1
,form2
,form3
)。目前我把其他的 form2
和 form3
视为黑匣子。在 form1
中,我有一个 TreeView,并且我正在实现该 TreeView 的拖放功能。我该如何防止在 form1 控件之外进行拖放操作?
我正在实现三个事件处理程序:
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的情况下控制操作。