编辑:
所以,我最终为这个问题制定了自己的基本解决方案,可以在我自己对下面问题的回答中找到。 Or, here's a link.
原帖
我正在为一个小型.NET应用程序做一些UI编程。该应用程序有一些项目集合需要以网格格式显示(X列乘Y行),并且网格元素需要能够被拖动到不同的网格位置,并且可能在网格之外。
我能想到的最具可比性的UI设计元素是jQueryUI Draggables。
我是否必须自己滚动或者是否有人已经编写过这样的组件?更好的是,有没有免费的组件?或者有一种简单的方法可以做到这一点,我只是不知道(不要做很多.NET UI编程..)
这些“网格项”也需要能够包括窗体组件。 DataRepeater控件接近我需要的,除了它只支持水平或垂直对齐,而不支持项目的网格。
以下是我正在寻找的视觉示例:
我试着在这里坚持万圣节主题。
好吧,我推出了自己的解决方案并将其托管在GoogleCode上:
这是一个截图:
(来源:googlecode.com)
另一个刚刚调整大小:
(来源:googlecode.com)
希望这有助于其他人。它也是超级基本的,现在很糟糕,但完成工作。
任何想要项目访问的人都可以拥有它。
System.Windows.Forms.TableLayoutPanel控件支持拖放,您只需处理正确的事件。您可以创建自己的“GridItem”用户控件,在Panel上显示图标,标题,背景颜色等,然后在tablelayoutpanel中填充一堆它们,并连接一些事件处理程序。这是类似的东西: