ドラッグ アンド ドロップをサポートする WINDOWS APP 用のツリービュー コンポーネントを推奨できる人はいますか (独自のノード間 - コンテンツ管理システムがページを再配置するためのものです)。オープン ソースか商用かは気にしないでください (ただし、Telerik のツリービューにはまったく拡張できません)。恥..
他のオプションはありますか?ありがとう。
おそらくあなたはこのようなものを探しています
1.新しい Winforms プロジェクトを開始します。ツリービュー コントロールをフォームにドラッグします。
2. TreeView Node コレクション プロパティを使用して、ツリービューにさまざまなノードを入力します。
3. プロパティ ウィンドウに移動し、AllowDropプロパティをtrueに設定します。
4.最後に、ツリー ビューの 3 つの異なるイベントのコードを記述します。3 つのイベントは、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();
}
}
}
}
}