请教高手.我想测试鼠标是否在TreeView控件中.应该怎么办? 如果只是测试鼠标是否在TreeView控件中的话,那很简单.如果要测试的是鼠标在TreeView控件的哪个结点中的话,有点烦.不过也不难.我帮你找找. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此贴标题说的问题是鼠标是否在TreeView控件中,而不是在哪个节点中。鼠标进入某个控件会引发Enter事件,离开该控件引发Leave事件 看看这个怎么样.private TreeNode FindTreeNode(int x,int y){//先把当前的鼠标位置转换成控件内的坐标Point pt=treeView1.PointToClient(new Point(x,y));//获取第一个可见的节点,如果窗口没有滚动,这将是第一个根节点.//???如果窗口滚动的话,我也不知道应该怎么办了.还望高手指点.TreeNode node=treeView1.TopNode;while(node!=null){//检查鼠标坐标是否包含在这个节点内部if(node.Bounds.Contains(pt)){return node;}//获取下一个可见的节点node=node.NextVisibleNode;}return null;}如果是滚动后的树的话,可能要在其它拖动事件里想办法了.关注! SQL问题,在线等啊 引用DLL文件出现的问题 PDA和PC的USB传输 DataView RowFilter 的过滤问题 请问:有几种方法可以实现.cs文件和.cpp文件的通信呢? 关联文件如何自动打开? 点NET,C#两个问题?? 如何设置不让hashtable表中的元素排序? 怎样控制datagrid的模板列动态的显示? 关于C#编写com的问题 在winform中如何查找控件??? 请教如何判断键盘的大小写状态、数字小键盘状态?
private TreeNode FindTreeNode(int x,int y)
{
//先把当前的鼠标位置转换成控件内的坐标
Point pt=treeView1.PointToClient(new Point(x,y));
//获取第一个可见的节点,如果窗口没有滚动,这将是第一个根节点.
//???如果窗口滚动的话,我也不知道应该怎么办了.还望高手指点.
TreeNode node=treeView1.TopNode;
while(node!=null)
{
//检查鼠标坐标是否包含在这个节点内部
if(node.Bounds.Contains(pt))
{
return node;
}
//获取下一个可见的节点
node=node.NextVisibleNode;
}
return null;
}如果是滚动后的树的话,可能要在其它拖动事件里想办法了.关注!