标题:datagridview的CellValidating问题
只看楼主
llrp
Rank: 2
等 级:论坛游民
帖 子:8
专家分:20
注 册:2011-4-14
结帖率:66.67%
已结贴  问题点数:20 回复次数:2 
datagridview的CellValidating问题
近日再用datagridview的时候出了个麻烦,代码如下:
 void uc2_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
            string pat = @"^[\u4e00-\u9fa5]{2,4}$";
            Regex r = new Regex(pat, RegexOptions.IgnoreCase);

            if (e.ColumnIndex == 0 && e.RowIndex != -1)
            {
                Match m = r.Match(e.FormattedValue.ToString());
                if (!m.Success)
                {

                    e.Cancel = true;

                    MessageBox.Show("请输入中文姓名!", "警告");




                }
            }}
问题在于当cell输入的不是中文时CellValidating事件居然会调用三次,必须用鼠标点击三次messagebox才能关闭警告窗口,请问如果让他只调用一次呢?

搜索更多相关主题的帖子: void 
2011-06-20 19:05
dwwwing
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:284
专家分:986
注 册:2008-10-11
得分:20 
按照你这个代码来看是不会出现这种问题的。是不是其他地方关联了?
2011-06-20 20:53
llrp
Rank: 2
等 级:论坛游民
帖 子:8
专家分:20
注 册:2011-4-14
得分:0 
谢谢啦,我一直纠结在事件本身,钻在里面出不来了,你的话提醒了我确实是其他方面关联了,问题已经找到了。
2011-06-20 21:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-343485-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.234085 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved