拖放事件覆盖C#GUI

时间:2010-09-27 15:20:27

标签: c# user-interface event-handling drag-and-drop

我有一个注册到父表单的拖放事件处理程序

this.DragDrop += new DragEventHandler(Form_DragDrop);

有几个子表单派生自父表单。但是,当我在表单中拖动一个项目时,该操作仅在该区域中没有其他组件时才有效。

我希望拖放操作在表单的所有区域都有效,包括按钮,文本框等。无论如何在父窗体中指定某种覆盖行为?

1 个答案:

答案 0 :(得分:1)

您必须在所有控件上实现D + D事件。不完全实用,但你可以通过递归迭代Form.Controls集合来实现。为用户提供良好的放置目标,让她更容易猜测放下哪里,更容易实现代码。

相关问题