代码改变世界

关于TreeView的选中事件

2014-04-11 11:31  咒语  阅读(2822)  评论(0编辑  收藏  举报

在使用TreeView的选中事件时,发现,SelectAfter在第一次选中时触发,你再次点击时这个事件并不能引发它。所以找了找,发现有另两种解决办法。

最好的就是使用:NodeMouseClick,这个会直接给出你选中的节点。

另一个就是使用:MouseDown,但要自已计算出选中的节点。代码如下:

 void TreeViewMouseDown(object sender, MouseEventArgs e)
        {
            if ((sender as TreeView) != null)
            {
                treeView.SelectedNode = treeView.GetNodeAt(e.X, e.Y);
            }
            var node = treeView.SelectedNode;

.....