首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ToolStripMenu分配给多个TreeView节点,并知道按下了哪个节点

将ToolStripMenu分配给多个TreeView节点,并知道按下了哪个节点
EN

Stack Overflow用户
提问于 2014-07-30 22:46:18
回答 1查看 33关注 0票数 0

我有一个TreeView对象,为了让用户能够从其中删除节点,我需要删除这个对象,所以我让分配给要删除的节点的ToolStripMenu。但我想知道在不使用treeView.SelectedNode属性的情况下按下哪个节点并触发了delete_toolStripMenuItem_Click事件。

有没有办法知道被按下的确切节点?

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 23:27:02

这里有一种方法。您将处理TreeView的MouseDown()事件,并使用TreeView.GetNodeAt()确定右键单击了哪个TreeNode。将TreeNode存储在表单级别,以便您可以在删除菜单处理程序中访问它:

代码语言:javascript
复制
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private TreeNode _TN = null;

    private void treeView1_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Right)
        {
            _TN = treeView1.GetNodeAt(e.X, e.Y);
        }
    }

    private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (_TN != null)
        {
            MessageBox.Show(_TN.Text);
        }
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25039860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档