温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何理解C# ListBoxEx

发布时间:2021-06-16 14:11:15 来源:亿速云 阅读:199 作者:chen 栏目:编程语言

这篇文章主要介绍“如何理解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的标准控件的操作借口一致,我又重新设计了两个集合类:

  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,比如:

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”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI