datagridview如何才能做出类似于网站上的文本框限制输入呢,比如只能输入数字,比如复制了一些字符有数字和字母在粘贴的时候只把数字粘贴到文本框里。
dgv有什么事件能向textboxchange的事件吗?可以修改值,我现在只差一个dgv的事件了,上午写了一个不好用,在输入的时候也触发了我自定义的事件,
有空的大神帮我解决一下,谢谢。
还有如何做出这样的功能,新建一个txt输入一些字符,之后复制一些,在选中txt部分字符右键粘贴之后他就把选中的给替换了,而不是全部替换,求高手解答谢谢

解决方案 »

  1.   

    注:以上的粘贴时windows自带的粘贴,不是代码写的,也不是控件加的
      

  2.   

    你可以在keydown事件里 获取单元格内容,如果输入了别的内容就提示
      

  3.   

    这些我已经写好了,只差把这些方法写到dgv的事件里了
      

  4.   


    是鼠标的粘贴不是keydown,你见没见过网上那种限制输入的你复制一堆东西,但是在你粘贴的时候只有数字上去了,我就想实现这种功能
      

  5.   

    那就先获取text.value 然后正则提取??? 只能想到这个比较容易了
      

  6.   

    string txt = Clipboard.GetText();
                string text = System.Text.RegularExpressions.Regex.Replace(txt, @"[;;]+", "");
    我已经写好了,现在就是如何把这个值给dgv当前编辑咧,并且不覆盖编辑咧的原有内容,如果用户选中当前编辑咧的部分字符串,我要把选中的给替换掉
      

  7.   

    c# 如何才能获取windows自带的鼠标右击事件呢,有什么函数吗?
    我想获取鼠标右键点击粘贴时候的事件
    求高手解答
      

  8.   

    重写什么啊。说的再清楚一些o(>﹏<)o
      

  9.   

    重写窗体WndProc方法
                public event EventHandler OnPasted;
                int WM_PASTE = 0x0302;
                protected override void WndProc(ref Message m)
                {
                    if (m.Msg == WM_PASTE && OnPasted != null)
                    {
                        OnPasted(this, null);
                    }
                    else
                    {
                        base.WndProc(ref m);
                    }
                }
      

  10.   

    我 写了 你那个 0x0302是 textbox的粘贴
    但是在  dgv里 不是啊 ,dgv好像没有 ,我 试了 N个 数字了 都不对
      

  11.   

    不好意思 没仔细看 
    为什么重载窗体的那个方法而不是 dgv的呢,求解
      

  12.   

    还有如何做出这样的功能,新建一个txt输入一些字符,之后复制一些,在选中txt部分字符右键粘贴之后他就把选中的给替换了,而不是全部替换
     这句话其实没太懂
      

  13.   

     你这个能行? 你在编辑状态的时候 是取不到这个值的。   用CellBeginEdit方法来判断这个是否进入编辑状态,返回一个FLG,然后用KEYDOWN事件里做 按键判断  判断键盘键是否符合0-9数字 是的话输入, 组合键CTRL+V 的话 取出Clipboard里的值 循环判断每位的值是否是数字 其他输入键直接截取消息 
      

  14.   

    是这样的...之前我做一个 windows的 记事本的时候就知道...开始我也以为是自己要写的...是windows自带的...
      

  15.   

    cellFormating事件?限制輸入的字符格式