C# ListBoxEx简单描述

开发 后端
这里介绍C# ListBoxEx,ListBoxExItemCollection的实现:为了做到对集合(Items)的操作能够及时反映到C# ListBoxEx中所以,此类只是对ListBox中Items(ObjectCollection类型)作了一层包装

在向大家详细介绍C# ListBoxEx之前,首先让大家了解下ListBox,然后全面介绍C# ListBoxEx。

在一个点对点文件传输的项目中,我需要显示文件传输的实时信息:传输的文件列表和当前传输的文件,当时我想到了用ListBox,但是但我用了ListBox后,我发现它不能改变控件中文本想的颜色,于是我就想扩展一下ListBox控件------ListBoxEx。

我的目标是给空间加上图标,还要能时时改变控件文本颜色。于是从ListBox派生类

  1. public class ListBoxEx : ListBox {…} 

为了操作方便我为ListBoxEx的每一项设计专门的类ListBoxExItem

  1. public class ListBoxExItem {…} 

为了保持我这个控件与WinForm的标准控件的操作借口一致,我又重新设计了两个集合类:

  1. public class ListBoxExItemCollection : IList, ICollection, IEnumerator {}  
  2. //这个类相对于标准ListBox中的ObjectCollection,
    这个类作为ListBoxEx中的Items属性的类型  
  3.  
  4. public class SelectedListBoxExItemCollection : : IList, 
    ICollection, IEnumerator{}  
  5. //这个类相对于标准ListBox中的SelectedObjectCollection,
    这个类作为ListBoxEx中的SelectedItems属性的类型 

下面看两个集合类的实现:

ListBoxExItemCollection的实现:为了做到对集合(Items)的操作能够及时反映到C# ListBoxEx中所以,此类只是对ListBox中Items(ObjectCollection类型)作了一层包装,就是把ListBox中Items属性的所有方法的只要是object类型的参数都转换成C# ListBoxExItem,比如:

  1. public void Remove(ListBoxExItem item)  
  2. {  
  3. this._Items.Remove(item); //_Items为ObjectCollection类型  
  4. }  
  5.  
  6. public void Insert(int index, ListBoxExItem item)  
  7. {  
  8. this._Items.Insert(index, item);  
  9. }  
  10.  
  11. public int Add(ListBoxExItem item)  
  12. {  
  13. return this._Items.Add(item);  

【编辑推荐】

  1. C#窗体里调用浅谈
  2. C#调用ListEmployee命令
  3. C# CreateEmployeeDefinition()函数
  4. C#实现断点续传详细剖析
  5. C# Employee对象浅谈
责任编辑:佚名 来源: 博客园
相关推荐

2009-08-19 10:09:21

C#和C++

2009-09-03 16:55:58

C#引用类型

2009-09-07 15:31:49

C#支持事件

2009-08-27 10:01:52

C#自动属性

2009-08-20 16:45:03

C#哈希值

2009-09-01 17:08:35

C# Color枚举

2009-09-16 09:01:40

C#多维数组

2009-08-13 17:58:34

C#存储过程

2009-09-07 14:33:02

C# switch语句

2009-09-01 18:25:32

C#结构实例

2009-08-21 17:31:58

C#垃圾回收

2009-08-28 09:30:48

C#命名属性

2009-09-02 13:01:11

C#多路广播

2009-09-17 16:28:27

C#参差数组

2009-08-31 17:53:20

C#实现索引器

2009-09-03 10:19:12

C#表单控件

2009-09-02 10:39:00

C#释放托管资源

2009-08-26 14:54:23

C# new和over

2009-09-02 17:38:16

C#泛型支持

2009-08-28 11:22:11

C#装箱和拆箱
点赞
收藏

51CTO技术栈公众号