制作自定义列表框

时间:2011-10-20 23:18:49

标签: c# winforms visual-studio-2010

如果我想通过继承ListBox类并覆盖某些函数来创建自定义列表框,我应该创建用户控件还是自定义控件?我已经读过我应该使用用户控件但是当我添加一个用户控件时,它在设计器中带有一个我无法删除的面板控件,而自定义控件是空白的,我可以拖动它。

当我尝试将public partial class UserControl1 : UserControl更改为用户控件的public partial class UserControl1 : ListBox时,VS不会添加AutoScaleModeAutoScaleDimensions等属性。

1 个答案:

答案 0 :(得分:2)

UserControl是一个容器控件。它没有“附带”一个面板 - 它一种“面板”(但不是面板 - 这只是一个空的ContainerControl)。所以你可以定位它们。自定义控件只是从Control派生而来,你可以在代码中创建和定位事物,但通常你不会在一个简单的Control中有子控件。

至于继承ListBox,你必须自己添加这些属性,除非我完全误解。

顺便说一句,如果您只需要在ListBox中绘制自定义元素,而不是更改功能,请考虑使用所有者绘制ListBox。互联网上有很多例子。