我有以下代码:组合框没有要求MyClass.ToString()
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";
}
}
的问题是,组合框显示文本,而不是“类”“(集合)”。每当我删除Dictionary<string, string>
作为Class
的祖先时,代码显示的“Class”就像我希望的那样。即使当我从另一个基类中派生出来时,我自己也写了它,它工作正常。这当然不是真正的计划,而是孤立的问题。所以我错过了什么,或者我没有其他选择,除了在Class
中声明Dictionary<string, string>
字段而不是继承它的子类? (哦,对了,我已经尝试添加在ToString
功能断点,它不被调用。)
如果Control.FormattingEnabled标志为true,.NET数据绑定实现会自动为您设置集合类的格式。如果你想要一个扩展的解释,看看: http://msdn.microsoft.com/en-us/library/aa480734.aspx – Matt 2010-07-23 21:05:55
这是完美的。感谢你们 – Juan 2010-07-23 21:13:24