我有以下代码:
public partial class Form1 : Form
{
public BindingList<Class> List = new BindingList<Class>();
public Form1()
{
InitializeComponent();
List.Add(new Class());
comboBox1.DataSource = List;
}
}
public class Class : Dictionary<string, string>
{
public override string ToString()
{
return "Class";
}
}
问题在于组合框显示文本“(Collection)”而不是“Class”。每当我删除 Dictionary<string, string>
作为 Class
的祖先,代码显示了我想要的“类”。即使当我从我自己编写的另一个基类派生它时,它也可以正常工作。这当然不是真正的程序,而是孤立的问题。那么我是否遗漏了一些东西,或者除了声明 Dictionary<string, string>
之外我别无选择领域 Class
而不是子类化它? (哦,顺便说一句,我已经尝试在 ToString
函数中添加断点,但它没有被调用。)
最佳答案
你可以试试这个:
comboBox1.FormattingEnabled = false;
我已经尝试过,现在组合框显示文本“Class”而不是“(Collection)”。
关于c# - ComboBox 不调用 MyClass.ToString(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3322109/