我有一个我继承并希望改进的应用程序。我可以削减大量代码的一个领域是Drag and Drop
处理。在那,应用程序处理相同类型对象的拖放,但它的代码重复(略有变化)和大量事件连接代码。我想要实现的是以下内容:
- 组件 (a
UserControl
) 必须有一种方法来声明(在表单内)它支持拖放的项目类型 - 组件必须有一种方法来广播它接受了拖动的项目
- 一旦开始拖动,所有项目(可以接受被拖动的项目)都应该被通知它们已经开始拖动
- 可以从包含的控件(的
UserControl
)开始拖动
这样我就可以在一个公共类中处理对象的移动和复制,而无需使用相同的样板代码装饰宿主表单。
这有可能实现WinForms
吗?任何已经存在的代码?