私は2つのスプリッターを持つフォームを持っています。 1つのスプリッタはフォームを水平に2つの列に分割します。 もう1つは、左の列を2行に分割します。ツリービューと分割コントロールを使用してWinformsでドラッグドロップを実装
左側の列の上の「行」にはツリービューがあります。 右の列には、イメージビューアがあります。
ツリービューノードをイメージビューアにドロップして、それに何かしたいと思います。
このビューアは「ビューア」と呼ばれます。ツリービューは、コード
「EntityTreeView」と呼ばれ、次のとおりです。私は、ツリービューのノードを取得し、それをドラッグを開始するたびに
private void viewer_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void viewer_DragDrop(object sender, DragEventArgs e)
{
TreeNode droppedNode;
droppedNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
MessageBox.Show(String.Format("You dropped a node with text: {0}\n on the viewer at X:{1} Y:{2}", droppedNode.Text, e.X, e.Y), "Drag Drop Finished", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void EntityTreeView_ItemDrag(object sender, ItemDragEventArgs e)
{
DoDragDrop(e.Item, DragDropEffects.Move);
}
private void EntityTreeView_DragDrop(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void EntityTreeView_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.None;
}
しかし、それはすぐに「いいえ」アイコン(すなわち、なしを示し喫煙のサイン..スラッシュのある円、それが何であれ)。
私が間違っていることを知っていますか?
ご協力いただきありがとうございます。
関連するすべてのコントロールでAllowDropプロパティをtrueに設定していますか? – NascarEd