TreeNode右键单击以选择不起作用

时间:2013-05-15 19:32:27

标签: c# right-click treenode

我正在尝试解决一个问题,即如果用户右键单击某个选项,则不会选择/突出显示该选项,例如。选择“删除”,它将删除之前单击的选择。我已经阅读了许多关于使用mouse_down事件的帖子,但我尝试过的任何内容似乎对我都有效。这是当前的代码:

private void treelocations_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Right)
    {
        Point pos = new Point();
        pos.X = e.X;
        pos.Y = e.Y;
        mnulocation.Show(this.treelocations, pos);
    }
}

我只是希望能够右键单击列表中的任何选项并突出显示/选择该记录。

2 个答案:

答案 0 :(得分:0)

您需要在触发鼠标按下事件时更改所选节点。

看看:Selected Node Property

或者您可以查看:NodeMouseClick事件。

    private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Right)
        {
            treeView1.Nodes.Remove(e.Node);
        }
    }

答案 1 :(得分:0)

您可以根据需要添加其他case语句,但这可以帮助您获得所需内容

 private void treelocations_MouseClick(object sender, MouseEventArgs e)
 {
      switch(e.Button)
      {
          case MouseButtons.Right:
          {
              Point pos = new Point();
              pos.X = e.X;
              pos.Y = e.Y;
              treeView1.Focus();
              MessageBox.Show(treelocations.SelectedNode.Text);
              break;
           }
      }
 }