我将从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控件中的错误还是我做错了什么? 谢谢
答案 0 :(得分:3)
奇怪,这应该有效。另一种方法是将组合框的DisplayMember属性设置为TestControl上的属性:
通常,ComboBox中对象的表示是 该对象的ToString方法返回的字符串。如果你想拥有 而是显示对象的成员,选择将要成员 通过将DisplayMember属性设置为的名称来显示 适当的成员。
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.items.aspx(在备注部分)