Я предполагаю, что вы хотите знать, на каком узле щелкнули правой кнопкой мыши при открытии контекстного меню?
Чтобы определить это, вы можете обработать событие mousedown в древовидном представлении и убедиться, что узел, по которому вы щелкнули правой кнопкой мыши, выбран до отображения контекстного меню.
private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
var node = treeView1.HitTest(e.X, e.Y).Node;
treeView1.SelectedNode = node;
}
}
В обработчике щелчков ToolStripMenuItem вы можете проверить treeView1.SelectedNode, оно будет нулевым, если пользователь щелкнет правой кнопкой мыши на дереве вне узла.
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
if (treeView1.SelectedNode != null) MessageBox.Show("Node selected: " + treeView1.SelectedNode.Text);
}