Código:
El programa me da el error "Los controles creados en un subproceso no pueden tener controles primarios en un control en un subproceso diferente" en la línea: dgMateriales.DataSource = ds.Tables["Materiales"]; Me gustaría saber cómo hacer para que funcionara correctamente. Salu2 y gracias. private void InicializarForm() { _Principal.barraEstado = "Cargando base de materiales..."; ds = new DataSet(); string conexion = _Principal.cadenaConMater; da = new System.Data.OleDb.OleDbDataAdapter("SELECT CodMat, Des, Pre1 FROM Materiales", conexion); cb = new System.Data.OleDb.OleDbCommandBuilder(da); da.Fill(ds,"Materiales"); _Principal.barraEstado = "Listo"; this.lblCargando.Visible = false; dgMateriales.DataSource = ds.Tables["Materiales"]; //Preparamos los botones y los GroupBox if (dgMateriales.CurrentRowIndex != -1) AsignarPosibilidades(true, true, true, true, true); else AsignarPosibilidades(true, false, false, false, false); } private void frmMateriales_Load(object sender, System.EventArgs e) { Thread tAux = new Thread(new ThreadStart(InicializarForm)); tAux.Start(); while (!tAux.IsAlive); }