若超过10 messageboxshow输入错误,请重新输入 源码
4条回答 默认 最新
- 斯洛文尼亚旅游 2018-06-11 09:01关注
计时器延时执行下,要不确实存在这个问题,blur后就没搞了
private void dgv1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { int max = 5; if (e.ColumnIndex == 0 && dgv1.CurrentCell.Value != null && dgv1.CurrentCell.Value.ToString().Length > max) { MessageBox.Show("姓名最大长度为:" + max + "个字符,请重新输入!"); DataGridViewCell cur = dgv1.CurrentCell; System.Timers.Timer t = new System.Timers.Timer(10); t.Elapsed += delegate(object tsender, System.Timers.ElapsedEventArgs te) { this.Invoke(new SetCur(() => { dgv1.CurrentCell = cur; dgv1.BeginEdit(true); t.Enabled = false; t.Close(); })); }; t.Enabled = true; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报