C# WinForm TreeListView控件用法初步

TreeListView是第三方控件,我找到一个vs2003下的源码,升级到vs2010
使用起来没有什么不同。刚刚用了一下,感觉挺不错。分享一下。

1.把TreeListView控件添加到工具箱。
右击工具箱中的常规选项卡->选择项,找到System.Windows.Forms.TreeListView.dll
添加进来。然后就可以像普通控件一样拖一个到窗体。
2.设置属性这里主要设置一下Columns集合与SmallImageList
设置用来显示节点图标。如果不设置SmallImageList属性,无法正常显示。
如果不设置图标的话,图标显示的位置为空白。
CheckBoxs属性可以设置为Recursive可以显示成复选框。
3.通过AddItems()添加小项,
编写BeforeExpand();BeforeCollapse();BeforeLabelEdit();
三个事件的响应函数。就是展开或者折叠时显示哪个图标。
4.附带TreeListView的源码,以备二次开发。

ExpandedBlockStart.gif 大气象
using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Text;
using  System.Windows.Forms;

namespace  TreeListViewApp
{
    
public   partial   class  Form1 : Form
    {
        
public  Form1()
        {
            InitializeComponent();
        }

        
private   void  Form1_Load( object  sender, EventArgs e)
        {
            AddItems();
        }
        
private   void  AddItems()
        {
            
// 第一个参数是要显示的文本,第二个参数是要显示的图标索引。
            TreeListViewItem itemA  =   new  TreeListViewItem( " A " 0 );
            itemA.Expand();
// 展开
            itemA.SubItems.Add( " AA " ); // SubItems相当于同一行的不同列值。
            itemA.SubItems.Add( " BB " ); // 第三列
            
// 二级
            TreeListViewItem itemA0  =   new  TreeListViewItem( " A0 " 1 );
            itemA.Items.Add(itemA0);
            
// 三级
            TreeListViewItem itemA00  =   new  TreeListViewItem( " A00 " 3 );
            itemA0.Items.Add(itemA00);

            treeListView1.Items.Add(itemA);
        }
        
// 折叠事件
         private   void  treeListView1_BeforeCollapse( object  sender, TreeListViewCancelEventArgs e)
        {
            
// 索引1,2分别对应折叠与展开的图标。
             if  (e.Item.ImageIndex  ==   2 ) e.Item.ImageIndex  =   1 ;
        }
        
// 展开事件
         private   void  treeListView1_BeforeExpand( object  sender, TreeListViewCancelEventArgs e)
        {
            
if  (e.Item.ImageIndex  ==   1 ) e.Item.ImageIndex  =   2 ;
        }
        
// 编辑状态
         private   void  treeListView1_BeforeLabelEdit( object  sender, TreeListViewBeforeLabelEditEventArgs e)
        {
            
// 设置LabelEdit属性为True才可激活
             if  (e.Item.ImageIndex  <   1   ||  e.Item.ImageIndex  >   2 ) // 第一级与第三级只可以编辑第一列。
                e.ColumnIndex  =   0 ;
            
if  (e.ColumnIndex  ==   1 ) // 如果是第二列,显示一个下拉框。
            {
                ComboBox combobox 
=   new  ComboBox();
                combobox.Items.AddRange(
new   string [] {  " New value 1 " " New value 2 " " New value 3 "  });
                e.Editor 
=  combobox;
            }
        }
    }
}

源码下载:http://files.cnblogs.com/greatverve/TreeListViewApp.rar

转载于:https://www.cnblogs.com/greatverve/archive/2010/10/21/winform-treelistview.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值