希望在propertygrid中添加自定义异常信息,我写的代码如下,但是与预期行为不符:    public class IDPropertyGrid
    {
        private UInt16 cellId;        public UInt16 CellId
        {
            get
            {
                return cellId;
    }
            set
            {
                if (value >= 0 && value <= 3000)
                {
                    cellId = value;
                }
                else
                {
                    throw new Exception("数值有效范围为[0,3000]");
                }
                //cellId = value;
            }
        }        public IDPropertyGrid()
        {
        }
    }运行结果如下:
请问怎样才能在输入大于UInt16的值的时候也能显示"数值有效范围为[0,3000]"第二个问题:
如果我第一次输入2012,第二次输入3001,那如何才能做到我点击第一个图片总所示的确认按钮后编辑框能返回刚刚输入的2012这个数值。
第三个问题:
是否能限制字符输入的个数,比如限制只能输入4个长度的字符,第五个字符根本就无法写入grid的编辑框,如何能实现?
是否能限制输入字符的类型,比如grid的编辑框只能接收字符类型的输入,比如在grid的编辑框中敲击“a”这个字母,根本就不会有反映,请问如何能实现呢?非常感谢每一位的答复!

解决方案 »

  1.   

    第一个问题,在给属性赋值的时候,try...catch...判断错误类型,并抛异常
      

  2.   

    弱弱的问一下,非uint16的输入咋判断错误类型啊?能写个简单的代码让我参考下么……
      

  3.   

    版主,你好,这个帖子我看了,你是用ConvertFrom来判断这个“经纬度”结构体的正确性的,我只是想判断单简单数据类型,难道也需要重写ConvertFrom方法?
      

  4.   


    是的。简单类型也有Converter,只是类库帮你写好了。包括double int datetime都有converter。