C#:当项目是UserControls时,组合框中的Bug

本文关键字:组合 Bug 项目 UserControls | 更新日期: 2023-09-27 18:03:56


我正在将从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());

直接输入的是"Example"。

这是组合框控件中的错误还是我做错了什么?感谢

C#:当项目是UserControls时,组合框中的Bug

奇数,应该可以。另一种选择是将组合框的DisplayMember属性设置为TestControl:上的属性

通常,组合框中对象的表示形式是该对象的ToString方法返回的字符串。如果你想显示对象的成员,选择将通过将DisplayMember属性设置为适当的成员。

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