任何人都可以为支持拖放的WINDOWS APP推荐一个树视图组件(在它自己的节点之间 - 它用于内容管理系统重新排列页面)。不要介意它是开源的还是商业的(虽然不能完全延伸到 Telerik 的树视图)。耻辱..
还有其他选择吗?谢谢。
可能你正在寻找这样的东西
1.开始一个新的Winforms项目。在窗体上拖动一个树视图控件。
2.通过TreeView节点集合属性用不同的节点填充树视图。
3.转到属性窗口,将AllowDrop属性设置为true。
4.最后为tree view的三个不同事件编写代码。这三个事件分别是ItemDrag、DragEnter和DragDrop。
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void OnDragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void OnItemDrag(object sender, ItemDragEventArgs e)
{
DoDragDrop(e.Item, DragDropEffects.Move);
}
private void OnDragDrop(object sender, DragEventArgs e)
{
TreeNode NewNode;
if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
{
Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);
NewNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
if (DestinationNode.TreeView == NewNode.TreeView)
{
DestinationNode.Nodes.Add((TreeNode)NewNode.Clone());
DestinationNode.Expand();
NewNode.Remove();
}
}
}
}
}