如何将自定义控件添加入ListBox?
请教各位,问题如下:我自定义了一个控件,结构很简单,三个Label,然后有与之对应的三个属性。
我想通过Listbox.Items.Add(自定义控件)的方法进行添加并显示,
但结果是添加为报错,但无法在Listbox中显示,请问这是为什么? 有什么办法解决吗? 在下的平台是vs005 --------------------编程问答--------------------
--------------------编程问答--------------------
Listbox.Controls.Add(Label控件);
以上方法并不能达到类似于一行一个项目的效果呀 --------------------编程问答-------------------- 更正一下:是添加项目不报错,但显示不出被添加项目 --------------------编程问答-------------------- 参考 ,每次添加之后 修改下个的 Location
修改y坐标 就会显示一行行的了
--------------------编程问答--------------------
int x=0,y=0;
CheckBox cb = new CheckBox();
cb.Text = col.GetCaption();
cb.Tag = col.FieldName;
cb.Location = new Point(x, y);
listBoxCol.Controls.Add(cb);
y += 22;
谢谢楼上的方法,不过如果要用Controls.Add() 方法的话,其实还不如直接用TableLayOutPanel.Controls.add()了。
所以我是只想用Listbox.Items.add() 来实现逐行添加控件
--------------------编程问答-------------------- 所以我是只想用Listbox.Items.add() 来实现逐行添加控件
你要添加的是控件不是 添加 项
添加控件用Controls.Add 添加项用 Items.add
--------------------编程问答--------------------
这个我知道, 但是Items.Add 也能添加控件包括自定义控件。我自己已经测试过了,可以添加控件,但显示上问题很大,要么只能显示第一项,要么就是不能显示。 --------------------编程问答-------------------- 加入后 你需要让用户自行重绘LISTBOX --------------------编程问答-------------------- TableLayOutPanel真的不错,操作起来也不难
另外你是否考虑过用表格控件显示它呢? --------------------编程问答-------------------- isjoe: 能推荐几个免费的表格控件吗? 网上搜了下,很多都是要注册的的,比如flexgrid。
nexus8899: 想起来了,我的这个方法的确重绘过,思路是把自定义控件转换成的图片再在listbox中画出来,但是效果不好,效率也未必可靠。
补充:.NET技术 , C#