在使用TreeView的时候,某个TreeNode的右键菜单指定了,但右击的时候其选定的节点并不是鼠标指向的节点,此时右键菜单中的功能要找到操作的节点就不能是SelectedNode了,为这个问题上网也没找到答案,最后在MSDN里找到一个方法,利用GetNodeAt(Point p)的方法找节点,只要知道P,就可找到节点,最后实现的方法如下:通过以下代码找到节点,在MouseDown里把此节点设为SelectedNode,这样就可能在右键菜单里对SelectedNode操作了.注:Control为TreeView所在的Form.
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)