2012-05-31 41 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),它会保存变量声明。 –

相关问题