C# 右键单击treenode不会返回正确的treenode

C# 右键单击treenode不会返回正确的treenode,c#,treeview,C#,Treeview,我有一个有多个节点的树。左键单击节点时,AfterSelect事件将返回treeNode.SelectedNode中的正确节点。但是,右键单击节点时,treeNode.SelectedNode始终返回第一个节点,而不是我单击的节点 例如,如果我有一个有5个节点的树,我希望右键单击第4个节点会将treeNode.SelectedNode设置为第4个节点;但是,我总是得到第一个节点 private void tvDrives_AfterSelect(object sender, TreeVie

我有一个有多个节点的树。左键单击节点时,AfterSelect事件将返回treeNode.SelectedNode中的正确节点。但是,右键单击节点时,treeNode.SelectedNode始终返回第一个节点,而不是我单击的节点

例如,如果我有一个有5个节点的树,我希望右键单击第4个节点会将treeNode.SelectedNode设置为第4个节点;但是,我总是得到第一个节点

   private void tvDrives_AfterSelect(object sender, TreeViewEventArgs e)
   {
       // Always returns 1st node in tree when right-clicking a node
       TreeNode tNode = tvDrives.SelectedNode;  
   }

有什么想法吗?

右键单击通常不会选择节点(因此@HarisHasan链接)。您可以使用e.Node属性而不是SelectedNode属性。实现@HarisHasan链接就像一个符咒。谢谢