2012-05-31 3 views
2

Что является самым простым способом предотвратить ввод пользователем значения запятой в ячейку datagridveiw? C# winforms.C# winforms datagridview как ограничить ввод соты?

+0

Возможный дубликат [http://stackoverflow.com/questions/5687670/let-only-some-chars-be-typed-in-a-datagridview-cell][1] [1]: http://stackoverflow.com/questions/5687670/let-only-some-chars-be-typed-in-a-datagridview-cell – openshac

ответ

2

Попробуйте Это предотвратит попадание запятой, когда вы пытаетесь ввести в клетках

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) 
{ 
     e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress); 
} 

void Control_KeyPress(object sender, KeyPressEventArgs e) 
{ 
     if (e.KeyChar == 44) 
     { 
      e.Handled = true; 
     } 
} 

Не забудьте привязать к EditingControlShowing случае DataGridView

ПРИМЕЧАНИЕ

Чтобы точно проверить и ограничить его для типа управления, вы можете проверить тип управления (например, для TextBox вы можете это сделать)

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) 
    { 
     if (e.Control is TextBox) 
     { 
      e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress); 
     } 
    } 
+1

Мы можем проверить тип e.Control перед добавлением обработчика событий. –

+0

@Romil Исправить. Отредактированное сообщение –

+1

проверяет, если (e.Control - это TextBox), он сохранит объявление переменной. –

Смежные вопросы