【发布时间】:2009-06-12 13:39:45
【问题描述】:
我有一个有 2 个拆分器的表单。 一个拆分器将表单水平拆分为 2 列。 另一个将左列分成 2 行。
在左侧列,顶部“行”我有一个树视图。 在右侧栏,我有一个图像查看器。
我想将一个树视图节点放到图像查看器上并用它做一些事情。
查看器称为“查看器”。树视图称为“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?
标签: winforms treeview drag-and-drop