精华内容
下载资源
问答
  • TreeView控件

    2019-09-25 19:48:31
    一、TreeView控件使用 TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。TreeView显示Node对象的分层目录结构,每个Node对象均由一个...

    一、TreeView控件使用

    TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。TreeView显示Node对象的分层目录结构,每个Node对象均由一个Label对象和其相关的位图组成。在建立TreeView控件后,我们可以展开和折叠、显示或隐藏其中的节点。TreeView控件一般用来显示文件和目录结构、文档中的类层次、索引中的层次和其他具有分层目录结构的信息。

     

    下面是一些常用的方法和属性:

    添加节点

    TreeNode tn1 = new TreeNode(textBox1.Text.Trim());
    tn1.Name = textBox1.Text.Trim();
    treeView1.SelectedNode.Nodes.Add(tn1);

    编辑选中节点

    只有当 TreeView 的 LabelEdit 属性设置为 true,此方法才生效。 如果 LabelEdit 设置为 false,将引发异常,并且树节点不会进入可编辑状态。与之对应的是EndEdit()方法来关闭编辑节点。

    treeView1.LabelEdit = true;
    treeView1.SelectedNode.BeginEdit();

    删除选中节点

    treeView1.Nodes.Remove(treeView1.SelectedNode);

    展开选中节点

    treeView1.SelectedNode.ExpandAll();

    折叠选中节点

    方法传递的布尔参数为 true 则使子节点保持当前状态;为 false 则折叠子节点。

    treeView1.SelectedNode.Collapse(false);

    选中节点折叠展开状态切换

    treeView1.SelectedNode.Toggle();

    显示复选框

    与之相关联的是Checked属性获取或设置一个值,用以指示树节点是否处于选中状态。

    treeView1.CheckBoxes = true;

    选中节点路径

    treeView1.SelectedNode.FullPath

    选中节点树深度

    treeView1.SelectedNode.Level;

    树节点数目

    treeView1.GetNodeCount(true);

    详细使用可以参考MSDN:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.treenode(v=vs.100).aspx

    实例1.TreeView控件显示本地磁盘、文件夹

    遍历磁盘代码:

    //来源:http://zxlovenet.cnblogs.com
    private void ForeachDisk()
    {
        DriveInfo[] dr = DriveInfo.GetDrives();
        string driveName = "";
        foreach (DriveInfo d in dr)
        {
            switch (d.DriveType)
            {
                case DriveType.Fixed:
                    driveName = "本地磁盘(" + d.Name.Substring(0, 2) + ")";
                    break;
                case DriveType.Removable:
                    driveName = "可移动磁盘(" + d.Name.Substring(0, 2) + ")";
                    break;
                case DriveType.CDRom:
                    driveName = "DVD驱动器(" + d.Name.Substring(0, 2) + ")";
                    break;
                case DriveType.Network:
                    driveName = "网络驱动器(" + d.Name.Substring(0, 2) + ")";
                    break;
                default:
                    driveName = "未知(" + d.Name + ")";
                    break;
            }
            this.treeView1.Nodes.Add(d.Name, driveName);
        }
    }

    显示文件夹内容:

    //来源:http://zxlovenet.cnblogs.com
    private void ReadDir(TreeNodeMouseClickEventArgs e)
    {
        if (e.Node.Nodes.Count > 0)
        {
            if (e.Node.IsExpanded)
            {
                e.Node.Collapse();
     
            }
            else
            {
                e.Node.Expand();
            }
        }
        else
        {
            if (Directory.Exists(e.Node.Name))
            {
                try
                {
                    string[] allDirectory = Directory.GetDirectories(e.Node.Name);
                    foreach (string s in allDirectory)
                    {
                        e.Node.Nodes.Add(s, s.Remove(0, s.LastIndexOf("//") + 1));
                    }
                    listBox1.Items.Clear();
                    string[] allFiles = Directory.GetFiles(e.Node.Name);
                    foreach (string sf in allFiles)
                    {
                        listBox1.Items.Add(sf.Remove(0, sf.LastIndexOf("//") + 1));
                    }
                }
                catch
                {
                }
            }
            e.Node.Expand();
        }
    }

    实例2.TreeView实现拖拽操作

            

    后台代码:

    //来源:http://zxlovenet.cnblogs.com
    private Point Position = new Point(0, 0);
     
    private void Form1_Load(object sender, EventArgs e)
    {
        this.treeView1.AllowDrop = true;
        this.treeView1.ExpandAll();
    }
     
    private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
    {
        DoDragDrop(e.Item, DragDropEffects.Move);
    }
     
    private void treeView1_DragEnter(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(typeof(TreeNode)))
            e.Effect = DragDropEffects.Move;
        else
            e.Effect = DragDropEffects.None;
    }
     
    private void treeView1_DragDrop(object sender, DragEventArgs e)
    {
        TreeNode myNode = null;
        if (e.Data.GetDataPresent(typeof(TreeNode)))
        {
            myNode = (TreeNode)(e.Data.GetData(typeof(TreeNode)));
        }
        else
        {
            MessageBox.Show("error");
        }
        Position.X = e.X;
        Position.Y = e.Y;
        Position = treeView1.PointToClient(Position);
        TreeNode DropNode = this.treeView1.GetNodeAt(Position);
        // 1.目标节点不是空。2.目标节点不是被拖拽接点的字节点。3.目标节点不是被拖拽节点本身
        if (DropNode != null && DropNode.Parent != myNode && DropNode != myNode)
        {
            TreeNode DragNode = myNode;
            // 将被拖拽节点从原来位置删除。
            myNode.Remove();
            // 在目标节点下增加被拖拽节点
            DropNode.Nodes.Add(DragNode);
        }
        // 如果目标节点不存在,即拖拽的位置不存在节点,那么就将被拖拽节点放在根节点之下
        if (DropNode == null)
        {
            TreeNode DragNode = myNode;
            myNode.Remove();
            treeView1.Nodes.Add(DragNode);
        }
    }

     二、C# TreeView控件中的nodemouseclick事件

    nodemouseclick有两种响应

    1:响应单击扩展符"+" 如果不想对该扩展符响应,利用一个判断语句即可解决,代码如下

    private void tvMain_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {
          if (e.Node.Bounds.Contains(e.Location))
          {
           //将树节点展开或折叠 treeview1.SelectedNode.Toggle();
           //选中节点时,图标为默认未选中时的图标
           e.Node.SelectedImageIndex = e.Node.ImageIndex; } }

    2:响应单击节点事件

    可是每当单击时并不是自己想要的结果,要不是第一次点击没有反应,就是点击这个节点却响应了上次单击要出现的结果,或者是要双击才可响应,解决方法,代码如下:

    private void tvMain_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {
          tvMain.SelectedNode = e.Node; //一定要先指定e.node,否则不能正确运行
    }

    三、设置父节点和子及节点的图标

    动态生成一个树形目录后,想在每个节点前添加图标。
    添加之前先判断,这个节点是否有子节点,如果有则添加一种图标,如果没有,则添加另外一种图标。用递归实现,当然TreeView的第一层子节点只有一个,作为整棵树的根节点的时候,这个代码比较有效,否则的话,就要来一次遍历了。

    SetIcon(treeview1.Nodes[0]);
    
    private void SetIcon(TreeNode tn)
    {
         foreach (TreeNode node in tn.Nodes)
         {
              if (node.Nodes.Count > 0)
               {
                    node.ImageIndex = 0;
                    SetIcon(node);
               }
               else
               {
                    node.ImageIndex = 2;
               }
         }
    }

    如果一级节点有很多的话,遍历所有节点。

    SetIcon(tvPM.Nodes);
    private void SetIcon(TreeNodeCollection nodes)
            {
                foreach (TreeNode node in nodes)
                {
                    if (node.Nodes.Count > 0)
                    {
                        node.ImageIndex = 0;
                        SetIcon(node.Nodes);
                    }
                    else
                    {
                        node.ImageIndex = 2;
                    }
                }
            }

    四、动态刷新TreeNode节点的图标

    实现类似于windows XP资源管理器中的树形列表中的,点击加号,可以展开文件夹的同时,对应节点的图标也变成打开的文件夹的图标。
    功能上,节点的展开Expand和闭合Collapse已经实现,现在需要实现对应打开的文件夹图标和关闭的文件夹图标的动态更新。

    private void tvMain_AfterExpand(object sender, TreeViewEventArgs e)
    {
         e.Node.ImageIndex = 1;
         e.Node.SelectedImageIndex = 1;
    }
    private void tvMain_AfterCollapse(object sender, TreeViewEventArgs e) { e.Node.ImageIndex = 0; e.Node.SelectedImageIndex = 0; }

    效果如图:

    文件夹未展开时候的状态:

    example of closed folder

    文件夹展开时候的状态:

    example of open folder


    对于TreeView中的TreeNode,对应的图标,是分选中时候的SelectedImageIndex,和未选中时候的ImageIndex。
    在改为自己要的图标的时候,千万记得别忘了都要考虑进去,而别只用了一个,忽略了另外一个。

    转载于:https://www.cnblogs.com/jiangshuai52511/p/8063964.html

    展开全文
  • Treeview控件

    2016-02-19 17:01:25
    利用treeview控件写的下拉列表,有需要的可以参考一下,希望对您有所帮助!
  • treeview控件

    2008-09-09 10:56:10
    很好很强大的treeview控件.能实现拖动,拖动时的动态效果等等
  • TreeView 控件

    2013-04-13 19:50:18
    如何:向 TreeView 控件添加节点 (Visual C#) treeView1.Nodes.Add("First Node"); treeView1.Nodes.Add("Second Node"); treeView1.Nodes.Add("Third Node"); 如何:向 TreeView 控件添加嵌套节点 (Visual C#...

    如何:向 TreeView 控件添加节点 (Visual C#)

    treeView1.Nodes.Add("First Node");
    treeView1.Nodes.Add("Second Node");
    treeView1.Nodes.Add("Third Node");
    如何:向 TreeView 控件添加嵌套节点 (Visual C#)

    TreeNode node = treeView1.Nodes.Add("Level one node");
    node.Nodes.Add("Level two node");
    如何:向 TreeView 控件的选定节点中添加节点 (Visual C#)

    try
    {
        TreeNode node = treeView1.SelectedNode;
        node.Nodes.Add("New node below selected node");
    }
    catch (Exception)
    {
        // Handle the exception.
    } 

    展开全文
  • TREEVIEW控件

    2016-05-15 19:49:24
    DATAGRIDVIEW 中实现展开功能,很好用
  • TREEVIEW 控件

    2009-01-04 15:20:00
    treeview 控件绑定 xml 页面 aspx 代码: "C#" AutoEventWireup="true" CodeFile="treeview.aspx.cs" Inherits="treeview" %>"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1
      
    

      treeview 控件绑定 xml

     

    页面 aspx 代码:

     

    1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="treeview.aspx.cs" Inherits="treeview" %>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml" > 
    4. <head id="Head1" runat="server"
    5.     <title>TreeView控件的例子</title> 
    6. </head> 
    7. <body> 
    8.     <form id="form1" runat="server"
    9.     <div> 
    10.         <asp:TreeView ID="treeAreaList" runat="server" AutoGenerateDataBindings="False" OnSelectedNodeChanged="Tree_SelectedNodeChanged"
    11.         </asp:TreeView> 
    12.         </div> 
    13.     </form> 
    14. </body> 
    15. </html>

     

    后台代码:

     

    1. using System;
    2. using System.Data;
    3. using System.Configuration;
    4. using System.Collections;
    5. using System.Web;
    6. using System.Web.Security;
    7. using System.Web.UI;
    8. using System.Web.UI.WebControls;
    9. using System.Web.UI.WebControls.WebParts;
    10. using System.Web.UI.HtmlControls;
    11. using System.Xml;
    12. using System.Xml.XPath; 
    13. public partial class treeview : System.Web.UI.Page
    14. {
    15.     XmlDocument xmlDoc; 
    16.     protected void Page_Load(object sender, EventArgs e)
    17.     {
    18.         if (!Page.IsPostBack)
    19.         {
    20.             MakeParentNode();Math.
    21.         } 
    22.     }
    23.     #region  //生成父结点
    24.     /// <summary> 
    25.     /// 生成 
    26.     /// </summary> 
    27.     protected void MakeParentNode()
    28.     {
    29.         treeAreaList.Nodes.Clear();
    30.         xmlDoc = new XmlDocument();
    31.         xmlDoc.Load(Server.MapPath("area.xml "));//动态加载XML文档  
    32.         XmlNodeList nodeList = xmlDoc.SelectSingleNode("Area").ChildNodes;//获取Area节点下的所有子结点  
    33.         //定义Area结点  
    34.         TreeNode topNode = new TreeNode();//定义顶级节点 
    35.         topNode.Text = "area ";
    36.         //  tn.Value = "-1";  
    37.         topNode.Expanded = true;
    38.         treeAreaList.Nodes.Add(topNode);//添加"区域"父结点  
    39.         XmlElement element = null;
    40.         TreeNode treeNode = null;
    41.         //遍历区域下的所有省和直辖市  
    42.         foreach (XmlNode node in nodeList)
    43.         {
    44.             element = (XmlElement)node;
    45.             treeNode = new TreeNode();
    46.             treeNode.Text = element.GetAttribute("cAreaName");//在树控件上显示省或直辖市的名称  
    47.             treeNode.Value = element.GetAttribute("iAreaID");//获取节点值 
    48.             treeNode.Expanded = true;
    49.             topNode.ChildNodes.Add(treeNode);//将省或直辖市级结点添加到顶级节点中  
    50.             MakeChildNode(node.ChildNodes, treeNode);//通过递归将所有子节点添加到节点集合中 
    51.         }
    52.     }
    53.     #endregion
    54.     #region  //生成子结点
    55.     /// <summary> 
    56.     /// 递归将子节点添加到当前节点下 
    57.     /// </summary> 
    58.     /// <param name="nodeList">XmlNodeList的实例</param> 
    59.     /// <param name="treeNode">要添加子节点的父节点</param> 
    60.     protected void MakeChildNode(XmlNodeList nodeList, TreeNode treeNode)
    61.     {
    62.         XmlElement element = null;
    63.         TreeNode subTreeNode = null;
    64.         //遍历省级节点下的所有市,市辖区  
    65.         foreach (XmlNode node in nodeList)
    66.         {
    67.             element = (XmlElement)node;
    68.             subTreeNode = new TreeNode();
    69.             subTreeNode.Text = element.GetAttribute("cAreaName");//在树控件上显示市或市辖区的名称  
    70.             subTreeNode.Value = element.GetAttribute("iAreaID");//这里设置节点Value 
    71.             subTreeNode.Expanded = true;
    72.             treeNode.ChildNodes.Add(subTreeNode);//将子结点添加到父结点下面  
    73.             MakeChildNode(node.ChildNodes, subTreeNode);//递归调用本方法 
    74.         }
    75.     }
    76.     #endregion
    77.     protected void Tree_SelectedNodeChanged(object sender, EventArgs e)
    78.     {
    79.         Response.Write("节点的值:" + treeAreaList.SelectedNode.Value + "<br/>");
    80.         Response.Write("节点的路径:" + treeAreaList.SelectedNode.ValuePath + "<br/>");
    81.         Response.Write("节点的数据路径:" + treeAreaList.SelectedNode.DataPath + "<br/>");
    82.     } 
    83. }

    XML文件:

     

    1. <?xml version="1.0" encoding="utf-8" ?>
    2. <Area>
    3.   <Province iAreaID ="1" cAreaName="北京市"/>
    4.   <Province iAreaID ="2" cAreaName="上海市"/>
    5.   <Province iAreaID ="3" cAreaName="天津市"/>
    6.   <Province iAreaID ="4" cAreaName="重庆市"/>
    7.   <Province iAreaID ="5" cAreaName="湖北省">
    8.     <City iAreaID ="51" cAreaName="武汉市"/>
    9.     <City iAreaID ="52" cAreaName="黄冈市" />
    10.     <City iAreaID ="53" cAreaName="荆州市"/>
    11.     <City iAreaID ="54" cAreaName="武穴市" />
    12.     <City iAreaID ="55" cAreaName="十堰市"/>
    13.     <City iAreaID ="56" cAreaName="黄石市" />
    14.   </Province>
    15.   <Province iAreaID ="6" cAreaName="河北省">
    16.     <City iAreaID ="61" cAreaName="石家庄市"/>
    17.     <City iAreaID ="62" cAreaName="唐山市" />
    18.   </Province>
    19.   <Province iAreaID ="7" cAreaName="山西省">
    20.     <City iAreaID ="71" cAreaName="太原市" />
    21.     <City iAreaID ="72" cAreaName="大同市" />
    22.   </Province>
    23. </Area>

     

     

     

     

     

     

    展开全文
  • TreeView控件

    2007-08-31 15:10:00
    如何使用 .net 的TreeView控件 作者:幻想曲 时间: 2003-10-10 文档类型:原创 来自:蓝色理想 浏览统计 total:86910 | year:25286 | Quarter:5188 | Month:1686 | Week:142 | today:31
    如何使用 .net 的TreeView控件 
    

    作者:幻想曲 时间: 2003-10-10 文档类型:原创 来自:蓝色理想
    浏览统计 total:86910 | year:25286 | Quarter:5188 | Month:1686 | Week:142 | today:31

    第 1 页 如何使用 .net 的TreeView控件 [1]
    第 2 页 如何使用 .net 的TreeView控件 [2]
    第 3 页 如何使用 .net 的TreeView控件 [3]

      ASP.NET真正有用的特性就是其可扩充性。世界各地的开发人员都可以创建自己的自定义控件,这种自定义控件可以方便地在你自己的过程中进行定义。其中,Internet Explorer Web Controls就是由微软公司在标准的ASP.NET控件之外创建的这样一个集合。
      WINDOWS资源管理器中的驱动器和其下的文件及文件夹就是按照一种层次结构来安排的,在这个控件集中有一个treeview控件为我们提供了一种按层次结构显示信息的方式。treeview控件包含了称做“节点”(node)的一些条目的一个列表。每一个节点都可以有自己的节点集合,从而提供了一种更深层的数据定义。每个节点都可以被折叠起来,从而允许访问者在一个treeview控件中查找,只看他所感兴趣的那一级的数据。就像WINDOWS的资源管理器一样。
      本文将向你展示在ASP.NET页面上定义一个TREEVIEW控件所需要做的工作。

      TreeView控件演示

    首先得明确一点就是测试的环境,只要环境正确,接下来的工作就很轻松了:
    要测试该控件,得有一个叫IE WebControls的文件,具体的文件可以点击这里下载或到微软的网站去下载:
    下载地址
    按照他提供的方法进行安装。如有不清楚,请仔细看清楚他的readme文档。

    这里跳过下载方法,直接进入环境的配置:
    IE Web Controls
    1、双击安装完成,默认:系统盘:/program files/IE Web Controls目录下。
    2、运行“程序——Microsoft Visual Studio.NET 2003 ——Visual Studio.NET 工具 ——Microsoft Visual Studio.NET 2003 命令提示符”,进入到IE Web Control 安装目录。
    3、运行build.bat 。
    4、运行xcopy /s /i ./build/Runtime (网站根目录,默认系统盘):/Inetpub/wwwroot/webctrl_client/1_0 /y 。

    在”工具箱——web窗体“单击右键,选择“添加/移除项...”,在弹出对话框中选择.net framwork 组件,单击“浏览”,找到IE WebControl.dll 文件,添加上即可。

    这样就配置好了运行环境。接下来进行实操作阶段了。

    一、定义TreeView控件

    代码拷贝框

    下面来解释一下相应代码:
     autoselect = "false"
    当访问者在TreeView控件中对节点进行定位时,可以使用键盘上的箭头来进行这种定位.当这个TreeView控件的autoselect属性值设为TRUE时,可以使用键盘上的键来在treeview控件中滚动,以选聂一个条目.如果设置为false的话,则不允许这样做.
    showplus="true"
    当一个treeview控件中的两个节点收到一起的时候,你可以显示一个加号(+),访问者就知道这个节点可以展开.通过设置showplus属性,你可以控制在这个位置是否显示加号.如果这个属性值设为true将使用加号;否则不使用.
    showlines="true"
    在一个treeview控件中的两个节点之间,可以显示一些线条,通过设置showlines属性,你可以控制是否显示这样的线条.
    Expandlevel=2
    这个Treeview控件的Expandlevel属性用来确定在默认的情况下,沿着这个treeview控件的层次结构展开的级别数.
    <iecontrols:treeview>
    ---------
    </iecontrols:treeview>

    在这个treeview控件定义的开始和结束标记之间,可以定义一些treenode控件.

    二、在treeview控件中使用treenode控件

      如果你创建一个treeview控件的话,就需要在其中添加一些treenode控件来显示一些信息.treenode控件显示为treeview控件的层次结构中的一个项.treenode控件可以包含了treeview控件;或者,该控件本身也可以独立存在.下面将向你展示如何在一个treeview控件中定义treenode控件.
      本实例将显示我喜欢的一些网站,其中每个网站可以是一个独立的,或者在其下还有其它网站.这个treeview控件具有如下定义:

    代码拷贝框

    [Ctrl+A 全部选择 然后拷贝]

      其中,定义了一个两级的节点.这个树状视图中包含了"设计类站点"和"编程类站点"这二个大节点,而"编程类站点"中又有两个子节点"ASP编程"和"asp.net编程",其中每个子节点又都定义了其他的节点.
      要注意包含其他节点的treenode控件和独立的treenode控件之间的差别.当一个treenode控件中还有其它treenode控件时,这些子控件在其父控件的开始和结束标记之间进行定义:
      <iecontrols:treenode text="">
      </iecontrols:treenode>

    但对于一个独立的treenode控件来说,其开始和结束标记是自包含的:
      <iecontrols:treenode text="" />
       当页面首次加载时,这就是整个视图节点的展开情况.由于这里的expandlevel属性值设为2,因此将显示到所有级别上的节点.此外还要注意的是,由于showlines属性和showplus属性都为true,因此在所有显示的这个视图中,连接节点间的线条和连接框都显示出来.

       "我常去的站点"是当前选中的节点项.访问者可以敲击回车,或者在这个节点上点击鼠标.然后,访问者可以使用键盘上的箭头来沿着树状视图的层次结构进行定位。

      在下一篇将介绍如何用实现导航功能。

     

     

    '导入名称空间
    <%@ import namespace="Microsoft.web.UI.webcontros"%>
    '注册这个名称空间并为其给定一个TagPrefix,以便于对这个控件库中的控件进行定义
    <%@ register tagprefix = "iecontrols"
        namespace="Microsoft.web.UI.webcontrols"
        assembly="microsoft.web.UI.webcontrols"
    %>
    '设置好指令后,就可以定义下面这样的一个treeview控件了
    <iecontrols:treeview
       id="tvbasic"
       autoselect="false"
       shoplus="true"
       showlines="true"
       expandlevel=2
       runat="server"
    >
    ----------
    </idcontrols:treeview>

     

    <iecontrols:treeview
     id="tvwebsite"
     autoselect ="false"
     showplus="true"
     showlines="true"
     expandlevel=2
     runat = "server"
    >
    '接下来在treeview控件的开始和结束标记中,定义treenode控件
    <iecontrols:treenode text="我常去的站点">
      <idcontrols:treenode text="设计类站点">
        <idcontrols:treenode text="蓝色理想" />
        <idcontrols:treenode text="有风的日子" />
        <idcontrols:treenode text="设计联盟" />
      </iecontrols:treenode>
      <iecontrols:treenode text="编程类站点">
        <iecontrols:treenode text="ASP编程">
           <iecontrols:treenode text="ASP COOL" />
           <iecontrols:treenode text=""/>
        </iecontrols:treenode>
        <iecontrols:treenode text="ASP.NET编程">
           <iecontrols:treenode text="Dotnet技术网" />
           <iecontrols:treenode text="asp.net"/>
        </iecontrols:treenode>
        <iecontrols:treenode text="程序员大本营" />
      </iecontrols:treenode>
    </iecontrols:treenode>

     
    展开全文
  • TreeView 控件

    千次阅读 2006-12-12 11:42:00
    Windows 窗体 TreeView 控件以类似于在 Windows 资源管理器左窗格中显示文件和文件夹的方式显示节点的层次结构。每个节点可能包含称为子节点的其他节点。父节点或包含子节点的节点可以展开或折叠的方式显示。如果将...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,984
精华内容 2,393
关键字:

treeview控件