这篇文章主要介绍“如何理解C# ListBoxEx”,在日常操作中,相信很多人在如何理解C# ListBoxEx问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解C# ListBoxEx”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在向大家详细介绍C# ListBoxEx之前,首先让大家了解下ListBox,然后全面介绍C# ListBoxEx。
在一个点对点文件传输的项目中,我需要显示文件传输的实时信息:传输的文件列表和当前传输的文件,当时我想到了用ListBox,但是但我用了ListBox后,我发现它不能改变控件中文本想的颜色,于是我就想扩展一下ListBox控件------ListBoxEx。
我的目标是给空间加上图标,还要能时时改变控件文本颜色。于是从ListBox派生类
public class ListBoxEx : ListBox {…}
为了操作方便我为ListBoxEx的每一项设计专门的类ListBoxExItem
public class ListBoxExItem {…}
为了保持我这个控件与WinForm的标准控件的操作借口一致,我又重新设计了两个集合类:
public class ListBoxExItemCollection : IList, ICollection, IEnumerator {}
//这个类相对于标准ListBox中的ObjectCollection,
这个类作为ListBoxEx中的Items属性的类型
public class SelectedListBoxExItemCollection : : IList,
ICollection, IEnumerator{}//这个类相对于标准ListBox中的SelectedObjectCollection,
这个类作为ListBoxEx中的SelectedItems属性的类型
下面看两个集合类的实现:
ListBoxExItemCollection的实现:为了做到对集合(Items)的操作能够及时反映到C# ListBoxEx中所以,此类只是对ListBox中Items(ObjectCollection类型)作了一层包装,就是把ListBox中Items属性的所有方法的只要是object类型的参数都转换成C# ListBoxExItem,比如:
public void Remove(ListBoxExItem item) { this._Items.Remove(item); //_Items为ObjectCollection类型 } public void Insert(int index, ListBoxExItem item) { this._Items.Insert(index, item); } public int Add(ListBoxExItem item) { return this._Items.Add(item); }
到此,关于“如何理解C# ListBoxEx”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。