111,126
社区成员
发帖
与我相关
我的任务
分享
this.dataGridView1.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView1_EditingControlShowing);
void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is TextBox)
{
TextBox tb = e.Control as TextBox;
if (dataGridView1.CurrentCell.ColumnIndex == 0) // 只对第1列有效
tb.KeyPress += new KeyPressEventHandler(tb_KeyPress);
else
tb.KeyPress -= new KeyPressEventHandler(tb_KeyPress);
}
}
void tb_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(char.IsDigit(e.KeyChar)))
{
if (!char.IsLetterOrDigit(e.KeyChar)
&& e.KeyChar != '+' && e.KeyChar != '-'
&& e.KeyChar != '*' && e.KeyChar != '/'
&& e.KeyChar != '(' && e.KeyChar != ')')
e.Handled = true;
}
}