如何重写ListBox控件

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:41:12
我想让ListBox具备添加控件的功能,该怎么重写这个ListBox??但是ListBox自身所带的功能不能丢掉,谢谢!!请高手指点一下,给个思路也行。
谢谢一楼的提醒,可能是我说的不太明白,我是想在添加Items中添加Control。listBox1.Controls.Add是有这个方法,但是ListBox1.Items.Add中却没有可以添加控件的重载方法

我看你可能是理解错误了listBox1.Controls.Add不是listbox里的方法listBox1.Controls是一个ControlCollection的类型,Add方法ControlCollection类里的,是而ControlCollection是System.Windows.Forms.Control里的一个类,你要重写的话就得重写System.Windows.Forms.Control类,在用ListBox继承这个类后ListBox中就有你新写的方法了,不过这可不是件简单的事,你要是想在ListBox中加新的方法最好还是自己定义

请看Items.Add方法原型: public int Add(object item);
object item参数就可能是控件.但是在界面显示object.ToString()

如listbox.Items 有3个Item
分别是"易学论坛","C#源代码下载","易学网"
假设调用listbox.Item.Add(new MyControl())
item会显示CCCC

public class MyControl
{
public override string ToString()
{
return "CCCCC";
}
}

ListBox本身就具备添加控件的功能。不用重写

listBox1.Controls.Add(你要添加的控件);