C# 将ToolStripMenu分配给多个TreeView节点,并知道按下了哪个节点
我有一个TreeView对象,我需要它来允许用户从中删除节点,所以我有一个DeleteToolStripMenu,我将它分配给启用删除的节点。 但我想知道哪个节点被按下并触发了delete_toolStripMenuItem_Click事件,而没有使用treeView.SelectedNode属性C# 将ToolStripMenu分配给多个TreeView节点,并知道按下了哪个节点,c#,click,treeview,toolstripmenu,C#,Click,Treeview,Toolstripmenu,我有一个TreeView对象,我需要它来允许用户从中删除节点,所以我有一个DeleteToolStripMenu,我将它分配给启用删除的节点。 但我想知道哪个节点被按下并触发了delete_toolStripMenuItem_Click事件,而没有使用treeView.SelectedNode属性 有没有办法知道按下的确切节点?这里有一种方法。处理TreeView的MouseDown()事件,并确定使用TreeView.getNodeEat()右键单击了哪个TreeNode。将该树节点存储在表单
有没有办法知道按下的确切节点?这里有一种方法。处理TreeView的MouseDown()事件,并确定使用TreeView.getNodeEat()右键单击了哪个TreeNode。将该树节点存储在表单级别,以便您可以在“删除”菜单处理程序中访问它:
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);
}
}
}