C# 从ContextMenuStrip中选择的选项是哪个对象
我制作windows窗体应用程序。我在表单TreeView上添加了几个节点,并添加了ContextMenuStripC# 从ContextMenuStrip中选择的选项是哪个对象,c#,contextmenustrip,C#,Contextmenustrip,我制作windows窗体应用程序。我在表单TreeView上添加了几个节点,并添加了ContextMenuStrip var menu = new ContextMenuStrip(); menu.Items.Add("Some text", new Bitmap(1, 1), new EventHandler(function_name)); var treeView = new TreeView(..); treeView.ContextMenuStri
var menu = new ContextMenuStrip();
menu.Items.Add("Some text", new Bitmap(1, 1), new EventHandler(function_name));
var treeView = new TreeView(..);
treeView.ContextMenuStrip = menu;
treeView.Nodes.Add(new TreeNode()
{
...
Tag = someObject
});
我的问题是如何签入单击树节点并从ContextMenuStrip中选择选项的函数函数\函数名
编辑
函数名合成
public void pokaz_DoubleClick(object sender, EventArgs e)
{
}
函数名
方法的签名是什么
通常,您可以检查sender参数的内容,但可能是TreeView
而不是TreeNode
,如果是这样,您可以检查e
参数的属性
另一种方法是,每次按下鼠标时,确保在树视图中选择鼠标下的节点,这样当执行
函数名时,节点将进入树视图。SelectedNode
您可以处理TreeNodeDemouseClick事件。在TreeNodeMouseClickEventHandler中,您可以访问TreeNodeMouseClickEventArgs
参数。此参数包含许多属性,可用于检查在哪个节点上单击了哪个鼠标按钮。比如说
private TreeNode rightClickeNode;
void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
rightClickedNode = e.Node;
}
}
然后,您可以从函数名访问rightClickedNode
您可以在显示上下文菜单之前选择该节点,然后只需检查SelectedNode
属性。大概是这样的:
private void treeView_MouseDown(object sender, MouseEventArgs e)
{
//See what node is at the location that was just clicked
var clickedNode = treeView.GetNodeAt(e.Location);
//Make that node the selected node
treeView.SelectedNode = clickedNode;
}
private void function_name(object sender, EventArgs e)
{
var currentNode = treeView.SelectedNode;
//Do something with currentNode
}
如何在事件鼠标向下时选择节点?如果我能做到这一点,那么在函数_name中,我将检查选择了哪个节点,并在OnMouseDown事件处理程序中检查e参数的内容。