我想从 System.Windows.Forms.ComboBox 创建一个派生控件,该控件绑定到我从数据库中检索的对象列表。想法是其他开发人员可以直接在他们的表单上删除这个控件,而不必担心数据源、绑定,除非他们愿意。
我尝试扩展组合框,然后在构造函数中设置 DataSource、DisplayMember 和 ValueMember。
public class CustomComboBox : ComboBox
{
public CustomComboBox()
{
this.DataSource = MyDAL.GetItems(); // Returns List<MyItem>
this.DisplayMember = "Name";
this.ValueMember = "ItemID";
}
}
在我运行时工作,但一旦添加到任何表单中,就会在 Visual Studio 中引发很多错误。我得到的错误是:
“属性“项目”的代码生成失败。错误是:“对象引用未设置为对象的实例”
完成此任务的正确方法是什么(C#、Winforms、.NET 2.0+)?