拖放winform控件

时间:2011-09-02 07:00:48

标签: c# winforms

我想在winform应用程序中拖放控件(例如标签)。我看到了一些关于拖放文本的例子,但这不是我想要的。我想让用户移动控件。任何人都可以指导我一些资源或例子吗?感谢。

2 个答案:

答案 0 :(得分:3)

你应该看看如何制作可拖动控件的例子。

这里也有一些答案。

请参阅此Move controls when Drag and drop on panel in C#

这是关于如何托管表单设计器的完整示例:

Tailor Your Application by Building a Custom Forms Designer with .NET

我很久以前在Delphi中做过类似的事情,会搜索源代码,将其转换为.NET C#并在此问题上制作一个wiki页面,因为它最近变成了这样一个流行的问题:)

答案 1 :(得分:2)

据我所知,您希望放弃控件的位置称为容器,实际上任何控件都可以充当容器。首先是容器,您需要启用drop属性以及需要拖动的控件的drag属性。

然后为每个控件编写事件(Candrag,candrop,controladded等),其中包含一些逻辑来保存对象并按照您的需要显示它们。

说,生病了一个例子,你希望将图像文本从combombox拖到一个图片框中,然后让图片框分析目录中的文本和精细相关的文件名,并将该图像加载到其中。

所以在这里,当你开始从combombox中拖动文本时,你必须在事件candrag中编写一些逻辑。然后,一旦你放弃,你必须编写逻辑来理解添加了什么类型的对象,并在你放弃其他控件的控件中获取与之相关的文本(有点解密)。

抱歉,我现在没有代码可以给你,但我希望你知道它是如何完成的。可能这篇文章可以帮到你吗? http://vicky4147.wordpress.com/2007/02/04/a-simple-drag-drop-in-winforms/