C#Designer覆盖ComboBox DataSource

时间:2011-07-08 22:02:39

标签: c# winforms

我试图在InitializeComponent中以编程方式设置ComboBox的DataSource。

this.comboBox1.DataSource = (IEnumerable<> from a Linq command);

我保存文件,一切正常。但是,只要我打开Designer,它就会覆盖我的代码。我应该在“属性”页面中设置什么来阻止Designer用以下代码替换我的代码:

this.comboBox1.Items.AddRange( new object[] {
    "value1",
    "value2",
    ...
}

其中硬编码列表是Linq命令的结果。由于DataSource是在早期行中设置的,因此Designer抛出异常抱怨“DataSource在设置后无法更改”。

我应该在属性上指定什么来防止这种情况发生?感谢。

1 个答案:

答案 0 :(得分:1)

您不应手动编辑InitializeComponent。相反,您应该将该代码放在表单/控件的构造函数(或Load事件)中。