winform treevicw 节点右键菜单

本文介绍了一个右键菜单的实现方式,包括添加、修改和删除操作,并详细阐述了如何通过点击事件获取并处理数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 private void treeView1_MouseDown(object sender, MouseEventArgs e)
        {

            if (e.Button == MouseButtons.Right)
            {
                TreeNode tn = treeView1.GetNodeAt(e.X, e.Y);
                if (tn != null)
                    treeView1.SelectedNode = tn;
                if (tn != null)
                {
                    ContextMenu con = new ContextMenu();
                    MenuItem menu1 = new MenuItem("添加");
                    menu1.Click += new EventHandler(menu1_Click);
                    con.MenuItems.Add(menu1);
                    MenuItem menu2 = new MenuItem("修改");
                    menu2.Click += new EventHandler(menu2_Click);
                    con.MenuItems.Add(menu2);
                    MenuItem menu3 = new MenuItem("删除");
                    menu3.Click += new EventHandler(menu3_Click);
                    con.MenuItems.Add(menu3);

                    treeView1.ContextMenu = con;
                    con.Show(treeView1, new Point(e.X + 10, e.Y));
                    //this.contextMenuStrip1.Show(treeView1, new Point(e.X + 10, e.Y));
                    treeView1.ContextMenu = null;
                }
            }
        }

以下是添些点击事件

 

 private void menu1_Click(object sender, EventArgs e)
        {
            TreeNode tn = treeView1.SelectedNode;
            String questionnaireTypeId = tn.Tag.ToString();
            this.txtPQuestionnaireId.Text = tn.Tag.ToString();
        }
        private void menu2_Click(object sender, EventArgs e)
        {
            TreeNode tn = treeView1.SelectedNode;
            String questionnaireTypeId = tn.Tag.ToString();
            QuestionnaireWCF.QuestionnaireWCFClient client = new QuestionnaireWCF.QuestionnaireWCFClient();
            QuestionnaireWCF.QQUESTIONNAIRETYPE questionnaireType = client.GetQQuestionnaireTypeById(questionnaireTypeId);
            if (questionnaireType == null)
            {
                MessageBox.Show("未获取到数据");
                return;
            }
            SetText(questionnaireType);
        }
        private void menu3_Click(object sender, EventArgs e)
        {
            TreeNode tn = treeView1.SelectedNode;
            String questionnaireTypeId = tn.Tag.ToString();
            QuestionnaireWCF.QuestionnaireWCFClient client = new QuestionnaireWCF.QuestionnaireWCFClient();
            QuestionnaireWCF.QQUESTIONNAIRETYPE questionnaireType = client.GetQQuestionnaireTypeById(questionnaireTypeId);
            client.DelQQuestionnaireType(questionnaireType);
            BandingTreeView();
        }

 

 

转载于:https://www.cnblogs.com/gengaixue/archive/2012/06/01/2530955.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值