C#:当项目是UserControls时,ComboBox中的错误?

时间:2011-07-27 14:57:32

标签: c# winforms string user-controls combobox


我将从UserControl派生的类中的对象添加到ComboBox控件。这非常有用,因为我可以直接从组合框中访问必要的控件 除了所有ComboBox条目都是空字符串(它后面的派生UserControls可以使用selectedItem完全访问)这一切都可以正常工作... ...
ComboBox使用DropDownList作为其下拉样式 - 但更改它不能解决它。

显示空字符串的最小工作示例:

public class TestControl : UserControl {
    public override string toString(){
        return "Example";
    }
}

...
combobox.Items.Add(new TestControl());
...

当我打电话

combobox.Items.Add(new TestControl().ToString());
直接

,条目是“示例”。

这是ComboBox控件中的错误还是我做错了什么? 谢谢

1 个答案:

答案 0 :(得分:3)

奇怪,这应该有效。另一种方法是将组合框的DisplayMember属性设置为TestControl上的属性:

  

通常,ComboBox中对象的表示是   该对象的ToString方法返回的字符串。如果你想拥有   而是显示对象的成员,选择将要成员   通过将DisplayMember属性设置为的名称来显示   适当的成员。

http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.items.aspx(在备注部分)