iObject 9D,桌面二次开发
两个回调函数,其中DragOver对应的回调函数会在事件触发时执行,但DragDrop对应的回调函数不会在事件触发时执行。
// 初始化函数中绑定了回调函数
this.layersControl1.DragOver += new DragEventHandler(layersControl1_DragOver);
this.layersControl1.DragDrop += new DragEventHandler(layersControl1_DragDrop);
// 类中定义了两个回调函数
/// LayersControl拖拽放开事件
这个函数我打断点看了,鼠标放开的时候也不会执行,进不去这个函数
private void layersControl1_DragDrop(object sender, DragEventArgs e)
{
int i = 0;
try
{
i++;
}
catch (Exception ex)
{
Trace.WriteLine(ex.Message);
}
}
/// LayersControl拖拽进入事件
private void layersControl1_DragOver(object sender, DragEventArgs e)
{
try
{
WorkspaceTreeDragData data = e.Data.GetData(typeof(WorkspaceTreeDragData)) as WorkspaceTreeDragData;
if (data.DataType == WorkspaceTreeNodeDataType.Dataset)
{
e.Effect = DragDropEffects.Move;
}
else
{
e.Effect = DragDropEffects.None;
}
layersControl1.Focus();
}
catch (Exception ex)
{
Trace.WriteLine(ex.Message);
}
}