请教一个TreeView的问题:如何获得光标指向的那个节点?

WUYONG 2002-11-24 10:12:31
我想在C#里用TreeView做出WINDOWS中文件目录拖放、复制的功能。
但是我不能获取DragDrop时光标指向的那个节点。
好象TreeView只能获取已经被SELECT的节点,ItemDrag事件里“被拖”的那个节点也可以获取,就是不能获取“被放”的那个节点。如果我还没有SELECT,仅仅是把光标放到这个节点上,能不能获得这个节点呢?是不是有前辈实验过?
非常感谢!
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chestnuts 2002-11-25
  • 打赏
  • 举报
回复
你很荣幸,今天是我考试前最后一次上网的机会,你的问题我以前研究过,所以对此比较了解,教教你吧!看完了别忘了给分,否则我把你加入黑名单哦!!
我的方法如下:
private void treeView1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(treeView1.GetNodeAt(e.X,e.Y)!=null)
{
textBox1.Text=treeView1.GetNodeAt(e.X,e.Y).Text;
}
}
其中的textBox1为实验获取的树节点的值用的文本框。
一定要给满分哦!!!
我已经答复的很完美了,这是我第3次认真回答别人的问题,希望你能尊重我这个懒人偶尔的认真回复别人的精神吧~~~~
赫赫~~~~~~~
开个玩笑,但是分一定要给!!!!
有其他问题,欢迎Email到:chestnuts@netease.com
标题加上csdn的前缀哦!!否则我会把你的Email误认为又不知道哪个国外的sex站点发送的欢迎入会的Email而恼怒的删除呢:)
你知道我有多生气吗??我看到了你的问题,于是我准备第一个回复!克等我写完了回复,却发现服务器忙而进不来!!!他奶奶的!!!!
我对这里恨透了!!!以后有问题尽管发信到
Email: chestnuts@netease.com
分你看着吧!!!我已经筋疲力尽了!!!恼死了!!!
yarshray 2002-11-25
  • 打赏
  • 举报
回复
不知道你说的是不是这个意思?
Public Sub TreeView_DragEnter(ByVal sender As Object, _
ByVal e As DragEventArgs) _
Handles TreeView2.DragEnter, TreeView1.DragEnter
e.Effect = DragDropEffects.Move
End Sub
dy_2000_abc 2002-11-25
  • 打赏
  • 举报
回复
试一试 treeView.GetNodeAt(e.X,e.Y);
WUYONG 2002-11-25
  • 打赏
  • 举报
回复
牛啊牛!
分算什么!!
太感谢了!!!
ArEoN 2002-11-25
  • 打赏
  • 举报
回复
chestnuts(橙子鸟)

very good!

chestnuts 2002-11-25
  • 打赏
  • 举报
回复
public TreeNode GetNodeAt(Point)
检索位于指定点(以坐标表示)的树节点.
我知道你写的意思,但是...
MouseEventArgs 的X和Y属性是鼠标移动的坐标基于窗体的工作区的坐标值。
动态帮助里写的很明白。而且我写的程序已经测试通过。
很不好意思阿,扫到了斑竹的面子...: )
不知道你会不会扣我的信誉值,呵呵呵呵~~~~~~~
TheAres 2002-11-25
  • 打赏
  • 举报
回复
哈哈,chestnuts(橙子鸟)好功夫,一下敲了这么多.
---------------------------------
用getNodeAt是不错的,但是不能直接用e.X和e.Y,他们是对于屏幕的.

参考下面的代码:
private void treeView1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode",true))
{
TreeNode dNode ;
Point pt;

pt = this.treeView1.PointToClient(new Point(e.X,e.Y));
dNode = this.treeView1.GetNodeAt(pt);
//...
}
}

111,115

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧