1

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

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

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

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

form.Designer.cs(这是为您生成的,而不是名为设计器的自定义 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();
}
4

1 回答 1

2

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

于 2012-12-13T13:44:32.823 回答