我遇到了一个问题,每次构建我的解决方案时,编译都会成功,但是当我运行我的程序时,它会出错,因为表单 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();
}