设置Combobox项目和DataSource

时间:2012-12-04 12:10:00

标签: c# winforms visual-studio-2010

我遇到一个问题,每次我构建我的解决方案时,编译成功但是当我运行我的程序时它会出错,因为表单designer.cs文件已经自动添加了我的自定义组合框的数据源;导致异常陈述

  

设置DataSource属性时无法修改项集合。

关于可能出现什么问题的任何想法?我尝试在初始化组件方法之后设置数据源,但由于单元类型为null,这会导致不同的错误。

数据源的类型在控件的属性中设置,下面是相关代码

form.Designer.cs(这是为您生成的,而不是名为designer的自定义cs文件)

// 
// cmbWheelUnitCR
// 
this.cmbWheelUnitCR.DataSource = ((object)(resources.GetObject("cmbWheelUnitCR.DataSource")));
this.cmbWheelUnitCR.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbWheelUnitCR.FormattingEnabled = true;
this.cmbWheelUnitCR.Items.AddRange(new object[] {
"mm",
"yd"});

我的自定义组合框

public string UnitType
{
   get { return m_unitType; }
   set { m_unitType = value;
   this.DataSource = Units.Instance.UnitTypes(m_unitType);}
}
public UnitComboBox()
{
   InitializeComponent();
}

1 个答案:

答案 0 :(得分:2)

我能够通过在覆盖onLoad事件中设置数据源来意外解决这个问题。