Если вы хотите запретить ввод данных, кроме чисел, вам нужно обработать событие EditingControlShowing
в DataGridView.Это можно сделать так:
dataGridView.EditingControlShowing = new DataGridViewEditingControlShowingEventHandler (dataGridView_EditingControlShowing);
Затем определите ваш обработчик:
void dataGridView_EditingControlShowing (object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox tx = e.Control as TextBox;
tx.KeyPress += new KeyPressEventHandler (tx_KeyPress_int);
}
Затем определите ваш обработчик KeyPress и обрабатывайте только числовые символы:
void tx_KeyPress_int (object sender, KeyPressEventArgs e)
{
if (!(char.IsNumber (e.KeyChar) || e.KeyChar == '\b'))
{
//is NOT number or is Backspace key
e.Handled = true;
}
}
Отрегулируйте в соответствии с вашими потребностями (т. Е. Обрабатывайте ввод только для определенного столбца и т. Д.)