我遇到一个问题,每次我构建我的解决方案时,编译成功但是当我运行我的程序时它会出错,因为表单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();
}
答案 0 :(得分:2)
我能够通过在覆盖onLoad事件中设置数据源来意外解决这个问题。