在WinForm程序中添加了一个TreeView,但是当右击一个节点没有选择删除的时候,再次右击TreeView空白处,删除了刚才右击的节点的处理方法:
1.为该TreeView添加MouseDown事件,接下来写如下代码:
这段代码里面的GetNodeAt(P)方法是检索位于指定点(以坐标表示)的树节点;如果有节点则会得到该节点,否则返回Null;
MSDN原文:
返回值
位于以树视图(客户端)坐标表示的指定位置的 TreeNode,或在该位置没有节点时为 空引用(在 Visual Basic 中为 Nothing)。
2.在NodeMouseClick事件可以判断tn是否为Null,如果是,则不执行删除操作;
可以参考MSDN详细解释:http://msdn.microsoft.com/zh-cn/library/4dd0e2w6(VS.80).aspx