加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

WinForm中触发TreeView节点的展开和收起事件

(2012-01-06 10:20:28)
标签:

treeview

展开节点

收起节点

winform

it

分类: 技术

主需要实现TreeView的一个事件就可以了NodeMouseClick,上代码:

private void treeView3_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (e.Node.Nodes.Count > 0)
            {
                if (e.Node.IsExpanded)
                {
                    e.Node.Collapse();

                }
                else
                {
                    e.Node.Expand();
                }
            }
            else
            {
                if (e.Node.Name.Equals("设备列表"))
                {
                    TreeNode tn1 = new TreeNode();
                    tn1.Name = "电气车间";
                    tn1.Text = "电气车间";
                    e.Node.Nodes.Add(tn1);
                    TreeNode tn2 = new TreeNode();
                    tn2.Name = "仪表车间";
                    tn2.Text = "仪表车间";
                    e.Node.Nodes.Add(tn2);
                    TreeNode tn3 = new TreeNode();
                    tn3.Name = "动力车间";
                    tn3.Text = "动力车间";
                    e.Node.Nodes.Add(tn3);
                    TreeNode tn4 = new TreeNode();
                    tn4.Name = "供排水车间";
                    tn4.Text = "供排水车间";
                    e.Node.Nodes.Add(tn4);
                    TreeNode tn5 = new TreeNode();
                    tn5.Name = "原料车间";
                    tn5.Text = "原料车间";
                    e.Node.Nodes.Add(tn5);
                    TreeNode tn6 = new TreeNode();
                    tn6.Name = "气化车间";
                    tn6.Text = "气化车间";
                    e.Node.Nodes.Add(tn6);
                    TreeNode tn7 = new TreeNode();
                    tn7.Name = "合成车间";
                    tn7.Text = "合成车间";
                    e.Node.Nodes.Add(tn7);
                    TreeNode tn8 = new TreeNode();
                    tn8.Name = "尿素车间";
                    tn8.Text = "尿素车间";
                    e.Node.Nodes.Add(tn8);
                }
                else if(!e.Node.Name.ToString().Substring(0,2).Equals("设备"))
                {
                    if (e.Node.Nodes.Count==0)
                    {
                        Random rd = new Random();
                        int nodecount = rd.Next(10, 30);
                        for (int i = 0; i < nodecount; i++)
                        {
                            TreeNode node = new TreeNode();
                            node.Text = "设备" + (i + 1);
                            node.Name = "设备" + (i + 1);
                            e.Node.Nodes.Add(node);
                        }
                    }
                }
            }
        }

效果图:

http://s10/middle/62cd5a984b5d2c16db6c9&690

http://s15/middle/62cd5a984b5d2c1a9b96e&690

http://s6/middle/62cd5a984b5d2c266ee35&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有