在树的上下文中的ToolStripMenuItem 增加项中动态增加了DropDownItems。在这些动态增加的项中。我如何能获得是点击的哪个动态项了。然后来触发不同的事件处理过程了。
以下为我:动态增加项的代码。
void DocMenu_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (MyTreeView != null)//判断树存在
            {
                mySelectedNode = MyTreeView.SelectedNode;
                Selection sele = (Selection)mySelectedNode.Tag;
                if (sele == null || sele.TypeFlag == "@TOPNODE")
                {
                    mySelectedNode.ContextMenuStrip = new ContextMenuStrip();
                }
                else//不是TOPNODE结点的时候
                {
                    #region 增加按扭上下文的判断
                    string NodeObject = sele.SelectionValue.ToString();//取得全局定义变量的字符串组合
                    if (!(sele.Tag is DataRow[])) return;
                    string Oder = sele.Container["ODER"].ToString();
                    if (string.IsNullOrEmpty(Oder)) return;                    DataRow[] rs = (DataRow[])sele.Tag;                    foreach (DataRow dr in rs)
                    {
                        int SubOder = int.Parse(dr["ODER"].ToString());
                        if ((int.Parse(Oder) == SubOder) || (int.Parse(Oder) == SubOder - 1))//增加本结点与下级结点
                        {
                            string Description = dr["DESCRIPTION"].ToString();//增加的种类
                            if (!string.IsNullOrEmpty(Description))
                            {
                                ToolStripMenuItem addTool = this.DocMenu.Items[0] as ToolStripMenuItem;
                                addTool.Click -= new EventHandler(addTool_Click);
                                ToolStripMenuItem subaddTool = new ToolStripMenuItem();
                                subaddTool.Text = "增加" + Description;
                                subaddTool.Click += new EventHandler(addTool_Click);
                                addTool.DropDownItems.Add(subaddTool);
                            }
                        }
                    }
                    this.GetAttributes(NodeObject);//解析获取定义的全局变量的字符串
                    #endregion
                    mySelectedNode.ContextMenuStrip = this.DocMenu;//增加上下文 
                }            }
        }
事件处理的代码为:
    #region 增加节点
        void addTool_Click(object sender, EventArgs e)
        {
            CanAdd();
        }
        public virtual void CanAdd()
        {
            MyTreeView.SelectedNode = mySelectedNode;
            if (CheckCanDo("", "", ""))
            {
                object obj = Yqun.Services.Agent.Call(ChargeCode,
                                    new object[] { XmlSchema("TREEADD", NodeID, NodeCode) });
                try
                {
                    int i = System.Convert.ToInt32(obj);
                    if (i == 1)
                    {
                        Yqun.Client.BizUI.FrameManager.ShowInformation("增加成功");
                    }
                }
                catch { }
                finally
                {
                    //MyTreeView.Refresh();
                    //MyTreeView.CollapseAll();                }
            }
        }
        #endregion
我改如何判断了?请高手指点思路