C#拖入一个treeview控件和contextMenuStrip控件问题

C#拖入一个treeview控件和contextMenuStrip控件

在contextMenuStrip控件填入4个toolStripMenuItem1、toolStripMenuItem2、toolStripMenuItem3、toolStripMenuItem4,

加入到treeview新建节点的右键菜单,如图所示,

图片说明

我选择AddNode和AddNodeSub,新建两个treeview节点,
然后创建treeView1_NodeMouseDoubleClick事件 双击节点

怎么区分这个事件是来自新建的哪个节点,是AddNode和AddNodeSub??

给新增的treenode设置名称就行了,AddNode或者AddNodeSub,依据你点击的menuitem来顶。然后NodeMouseDoubleClick获取treeView1.SelectedNode.Name属性值就可以判断了

             TreeNode tn=new TreeNode(DateTime.Now.ToString());
            tn.Name="addNodeSub";/////这里依据点击的菜单来决定值。如果2个菜单那公用一个事件,通过sender转为ToolStripItem后获取text

            treeView1.SelectedNode.Nodes.Add(tn);

给每个Node节点表上一个Tag或者Key识别关键字,然后再鼠标双击事件中判断就可以了

点击事件中两个参数,你需要搞清楚,当你点击这个界面时,实际上时从这个节点对象触发了一个事件的产生。sender和e参数中可以直接获取到事件触发的对象。
e.Node.Text可以获取到你点击的节点内容。