Código
try { conectar.Open(); string query = "SELECT * FROM detalle_inventario WHERE inventario=@inventario"; consulta.Parameters.AddWithValue("@inventario", inventario); adaptador.Fill(datos); dgv.AutoGenerateColumns = false; dgv.DataSource = datos; dgv.Columns[0].DataPropertyName = "ubicacion"; dgv.Columns[1].DataPropertyName = "medicamento"; dgv.Columns[2].DataPropertyName = "lote"; dgv.Columns[3].DataPropertyName = "vto"; dgv.Columns[4].DataPropertyName = "cantidadContada"; activarControles(); } catch (SqlException ex) { MessageBox.Show(ex.ToString()); } finally { conectar.Close(); } private void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { var dgv = (sender as DataGridView); if (dgv.Columns[dgv.CurrentCell.ColumnIndex].Name == "cantidadContada") { TextBox cell = (TextBox)e.Control; } } private void Cell_KeyPress(object sender, KeyPressEventArgs e) { var cell = (TextBox)sender; e.Handled = !Char.IsNumber(e.KeyChar) && e.KeyChar != Convert.ToChar(Keys.Back); }