visual valor studio setear net item devolvió c# winforms combobox

studio - c#databound ComboBox: InvalidArgument=El valor de ''1'' no es válido para ''SelectedIndex''



system windows forms combobox selecteditem get devolvió null (1)

Mi entendimiento es que el enlace de datos es manejado por el contexto de enlace normalmente esto es el padre forma bindingcontext. Por lo tanto, el enlace del origen de datos no ocurre hasta que agregue el comboBox al formulario. También puede hacer que esto funcione si establece el contexto de enlace de comboBox en el contexto de enlace de formularios.

comboBox1.BindingContext = this.BindingContext; comboBox1.DataSource = comboBoxList; comboBox1.SelectedIndex = 1; this.Controls.Add(comboBox1);

Clase BindingContext

¿Qué es BindingContext?

Estoy teniendo problemas para configurar el SelectedIndex en un ComboBox encuadernado (en un formulario de Windows) que estoy agregando a un formulario en tiempo de ejecución y sospecho que hay algo extraño sucediendo.

Cuando intento esto, aparece el error "InvalidArgument = Value of ''1'' no es válido para ''SelectedIndex''."

private void Form1_Load(object sender, EventArgs e) { List<string> comboBoxList = new List<string>(); comboBoxList.Add("Apples"); comboBoxList.Add("Oranges"); comboBoxList.Add("Pears"); ComboBox comboBox1 = new ComboBox(); comboBox1.DataSource = comboBoxList; comboBox1.SelectedIndex = 1; this.Controls.Add(comboBox1); }

Sin embargo, no hay ningún problema si agrego los elementos al ComboBox directamente, así:

comboBox1.Add("Apples");

Además, no hay problema si agrego el control al formulario ANTES de configurar el SelectedIndex, así:

ComboBox comboBox1 = new ComboBox(); this.Controls.Add(comboBox1); comboBox1.DataSource = comboBoxList; comboBox1.SelectedIndex = 1;

¿Alguien puede explicar por qué no puedo establecer el índice seleccionado desde un origen de datos hasta después de que se agrega el control al formulario?