0

我有一个树视图,其中有几个孩子,其中许多孩子都有祖先。我在树视图旁边还有一个数据网格视图。基于treeview选择的节点,我在Datagridview中绑定数据。

treeView1.SelectedNode用来获取节点值我的问题是这个表达式给出了之前选择的节点。

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
    node = e.node;
}

这给了我正确的节点(选定的节点)。但

node = treeview1.selectednode给出我之前选择的节点。我想在点击事件(_nodemouseclick)之外获取选定的节点。

我怎么才能得到它。我不想将节点保存在全局变量中然后使用它。

希望我能清楚地解释我的问题。

感谢期待。

4

2 回答 2

1
    TreeNode yourGlobalTreeNode;
    void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {
        yourGlobalTreeNode = e.Node;
        otherFunction();
        anOtherFunction(e.Node);
    }
    void otherFunction()
    {
        MessageBox.Show(yourGlobalTreeNode.Text);
    }
    void anOtherFunction(TreeNode tn)
    {
        MessageBox.Show(tn.Text);
    }

其他功能意味着您可以使用以上两种方法在任何地方使用此 tree_node。

于 2012-09-19T15:54:50.633 回答
1

这是因为在 selectedNode 更改之前引发了 MouseClick 事件。尝试改用 SelectedItemChanged 事件

    private void TreeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
    {

    }
于 2012-09-19T11:30:35.100 回答