当前位置:  开发笔记 > 编程语言 > 正文

如何使用设计友好的预绑定数据源创建派生的ComboBox?

如何解决《如何使用设计友好的预绑定数据源创建派生的ComboBox?》经验,为你挑选了1个好方法。

我想从System.Windows.Forms.ComboBox创建一个派生控件,该控件绑定到我从数据库中检索的对象列表.想法是其他开发人员只需将这个控件放在他们的表单上,而不必担心数据源,绑定,除非他们想要.

我试图扩展组合框,然后在构造函数中设置DataSource,DisplayMember和ValueMember.

public class CustomComboBox : ComboBox
{
    public CustomComboBox() 
    {
        this.DataSource = MyDAL.GetItems(); // Returns List
        this.DisplayMember = "Name";
        this.ValueMember = "ItemID";
    }
}

我运行时工作,但一旦将它添加到任何表单,就会在Visual Studio中引发很多错误.我得到的错误是:

"属性'项'代码生成失败.错误是:'对象引用未设置为对象的实例"

完成此任务的正确方法是什么(C#,Winforms,.NET 2.0+)?



1> Benjamin Aut..:

问题是设计者实际上在一些与正常运行程序不同的上下文中进行了一些编译和执行.

在构造函数中,您可以将代码包装在:

if (!DesignMode)
{
  //Do this stuff
}

这将告诉设计人员在设计时不运行任何初始化代码.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有