/// <summary>
/// 输入格式的限制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridView3Editing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
//检测是被表示的控件还是DataGridViewTextBoxEditingControl
if (e.Control is DataGridViewTextBoxEditingControl)
{ DataGridView dgv = (DataGridView)sender;
//取得被表示的控件
DataGridViewTextBoxEditingControl tb = (DataGridViewTextBoxEditingControl)e.Control; //事件处理器删除 tb.KeyPress -= new KeyPressEventHandler(dataGridViewTextBox_KeyPress);
if (dgv.CurrentCell.OwningColumn.Name == "date3")
{ // KeyPress事件处理器追加
tb.KeyPress += new KeyPressEventHandler(dataGridViewTextBox_KeyPress);
}
}
}
/// <summary>
/// 对输入键盘的监控
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridViewTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int)e.KeyChar >= 48 & (int)e.KeyChar <= 57 | (int)e.KeyChar == 8)//| (int)e.KeyChar == 46 .符号
{
e.Handled = false;
} else {
messgeNum = messgeNum + 1;//此处避免在输入一次提示三次的信息框
if (messgeNum == 1)
{
MessageBox.Show("请输入正确的整数", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);//!
}
else if(messgeNum == 3)
{
messgeNum = 0;
}
e.Handled = true;
}
}
C#中dataGridView的网格输入框内实时监控输入的值,需要两个事件一起用,对提示框也进行避免重复提示,和图标显示
猜你喜欢
转载自blog.csdn.net/penghao_1/article/details/83022629
今日推荐
周排行