如果有这方面经验的朋友请顶一下。 谢谢了。
18 个解决方案
#1
没经验也要顶一顶....
#2
顶
#3
帮你顶
#4
帮你顶
#5
我写了一个类似的程序。。不过还没有做拖放的。。
共同学习。。
共同学习。。
#6
谢了,各位帮顶的朋友!!!!
期待有这方面经验的朋友关注, 好让大家学习学习!!!!!
俺自己顶!!!!
期待有这方面经验的朋友关注, 好让大家学习学习!!!!!
俺自己顶!!!!
#7
可否考虑动态捕捉CTRL键,参考:protected void Edit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right )
return;
else
{
if(e.Control )
{
if(e.KeyCode ==Keys.C)
{
e.Handled = true;
this.CopyClipBoard();
}
if(e.KeyCode ==Keys.V )
{
e.Handled = true;
this.PasteClipBoard();
}
{
if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right )
return;
else
{
if(e.Control )
{
if(e.KeyCode ==Keys.C)
{
e.Handled = true;
this.CopyClipBoard();
}
if(e.KeyCode ==Keys.V )
{
e.Handled = true;
this.PasteClipBoard();
}
#8
你所说的MSDN的例子在哪里?
能不能把你拖动的那部分代码贴出来看看?
能不能把你拖动的那部分代码贴出来看看?
#9
学习楼上的。。。
#10
private void treeView_MyPre_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
{
// Retrieve the client coordinates of the mouse position.
Point targetPoint = treeView_MyPre.PointToClient(new Point(e.X, e.Y));
// Select the node at the mouse position.
treeView_MyPre.SelectedNode = treeView_MyPre.GetNodeAt(targetPoint);
if ((e.KeyState & 8) == 8 )//&&
//(e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy)
{
// CTL KeyState for copy.
e.Effect = DragDropEffects.Copy;
}
else //if ((e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move)
{
// By default, the drop action should be move, if allowed.
e.Effect = DragDropEffects.Move;
}
}
{
// Retrieve the client coordinates of the mouse position.
Point targetPoint = treeView_MyPre.PointToClient(new Point(e.X, e.Y));
// Select the node at the mouse position.
treeView_MyPre.SelectedNode = treeView_MyPre.GetNodeAt(targetPoint);
if ((e.KeyState & 8) == 8 )//&&
//(e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy)
{
// CTL KeyState for copy.
e.Effect = DragDropEffects.Copy;
}
else //if ((e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move)
{
// By default, the drop action should be move, if allowed.
e.Effect = DragDropEffects.Move;
}
}
#11
上面就是我的代码, 当移动拖拽中碰触其他TreeNode,就判断Ctrl键是否按下了。 可是在改变效果时,如果原来是Move状态, 改变为Copy状态时, 就不可以。 为什么啊。
#12
并不是因为不能获知Ctrl键是否按下的原因, 是因为改变拖拽状态时不起作用。
请高手快点帮忙啊!!!!!!!!
请高手快点帮忙啊!!!!!!!!
#13
mark
#14
:)
-
-
#15
复制出一个就是添加了一个控件,其位置就以鼠标为准!
#16
可以的啊。
你有没有犯一个低级错误:你的treeview的AllowDrop设为true了吗?
你有没有犯一个低级错误:你的treeview的AllowDrop设为true了吗?
#17
我可以拖动的, 就是在状态转换时不好用。
#18
只是在拖拽时无法从copy改变为move, 相反也是。
#1
没经验也要顶一顶....
#2
顶
#3
帮你顶
#4
帮你顶
#5
我写了一个类似的程序。。不过还没有做拖放的。。
共同学习。。
共同学习。。
#6
谢了,各位帮顶的朋友!!!!
期待有这方面经验的朋友关注, 好让大家学习学习!!!!!
俺自己顶!!!!
期待有这方面经验的朋友关注, 好让大家学习学习!!!!!
俺自己顶!!!!
#7
可否考虑动态捕捉CTRL键,参考:protected void Edit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right )
return;
else
{
if(e.Control )
{
if(e.KeyCode ==Keys.C)
{
e.Handled = true;
this.CopyClipBoard();
}
if(e.KeyCode ==Keys.V )
{
e.Handled = true;
this.PasteClipBoard();
}
{
if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right )
return;
else
{
if(e.Control )
{
if(e.KeyCode ==Keys.C)
{
e.Handled = true;
this.CopyClipBoard();
}
if(e.KeyCode ==Keys.V )
{
e.Handled = true;
this.PasteClipBoard();
}
#8
你所说的MSDN的例子在哪里?
能不能把你拖动的那部分代码贴出来看看?
能不能把你拖动的那部分代码贴出来看看?
#9
学习楼上的。。。
#10
private void treeView_MyPre_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
{
// Retrieve the client coordinates of the mouse position.
Point targetPoint = treeView_MyPre.PointToClient(new Point(e.X, e.Y));
// Select the node at the mouse position.
treeView_MyPre.SelectedNode = treeView_MyPre.GetNodeAt(targetPoint);
if ((e.KeyState & 8) == 8 )//&&
//(e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy)
{
// CTL KeyState for copy.
e.Effect = DragDropEffects.Copy;
}
else //if ((e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move)
{
// By default, the drop action should be move, if allowed.
e.Effect = DragDropEffects.Move;
}
}
{
// Retrieve the client coordinates of the mouse position.
Point targetPoint = treeView_MyPre.PointToClient(new Point(e.X, e.Y));
// Select the node at the mouse position.
treeView_MyPre.SelectedNode = treeView_MyPre.GetNodeAt(targetPoint);
if ((e.KeyState & 8) == 8 )//&&
//(e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy)
{
// CTL KeyState for copy.
e.Effect = DragDropEffects.Copy;
}
else //if ((e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move)
{
// By default, the drop action should be move, if allowed.
e.Effect = DragDropEffects.Move;
}
}
#11
上面就是我的代码, 当移动拖拽中碰触其他TreeNode,就判断Ctrl键是否按下了。 可是在改变效果时,如果原来是Move状态, 改变为Copy状态时, 就不可以。 为什么啊。
#12
并不是因为不能获知Ctrl键是否按下的原因, 是因为改变拖拽状态时不起作用。
请高手快点帮忙啊!!!!!!!!
请高手快点帮忙啊!!!!!!!!
#13
mark
#14
:)
-
-
#15
复制出一个就是添加了一个控件,其位置就以鼠标为准!
#16
可以的啊。
你有没有犯一个低级错误:你的treeview的AllowDrop设为true了吗?
你有没有犯一个低级错误:你的treeview的AllowDrop设为true了吗?
#17
我可以拖动的, 就是在状态转换时不好用。
#18
只是在拖拽时无法从copy改变为move, 相反也是。