希望能在propertygrid (C#)字段中添加自定义异常提示信息

包龙星137 2013-02-06 03:46:26
希望在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”这个字母,根本就不会有反映,请问如何能实现呢?

非常感谢每一位的答复!
...全文
210 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-02-07
  • 打赏
  • 举报
回复
引用 7 楼 yexianzhao 的回复:
引用 6 楼 caozhy 的回复:http://bbs.csdn.net/topics/390331033 版主,你好,这个帖子我看了,你是用ConvertFrom来判断这个“经纬度”结构体的正确性的,我只是想判断单简单数据类型,难道也需要重写ConvertFrom方法?
是的。简单类型也有Converter,只是类库帮你写好了。包括double int datetime都有converter。
包龙星137 2013-02-07
  • 打赏
  • 举报
回复
引用 6 楼 caozhy 的回复:
http://bbs.csdn.net/topics/390331033
版主,你好,这个帖子我看了,你是用ConvertFrom来判断这个“经纬度”结构体的正确性的,我只是想判断单简单数据类型,难道也需要重写ConvertFrom方法?
threenewbee 2013-02-06
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390331033
包龙星137 2013-02-06
  • 打赏
  • 举报
回复
引用 1 楼 marclee44 的回复:
第一个问题,在给属性赋值的时候,try...catch...判断错误类型,并抛异常
弱弱的问一下,非uint16的输入咋判断错误类型啊?能写个简单的代码让我参考下么……
包龙星137 2013-02-06
  • 打赏
  • 举报
回复
引用 2 楼 hjywyj 的回复:
第二个问题:输入错误的值之后提示错误,确定之后里面还是原来正确的值。
我尝试过,如果是我代码中的错误处理方式,第一次输入2012,第二次输入3001后,点击确定,返回的还是3001. 第一次输入2012,第二次输入300000000001后,点击确定,返回的会是2012.
  • 打赏
  • 举报
回复
第二个问题:输入错误的值之后提示错误,确定之后里面还是原来正确的值。
Marky 2013-02-06
  • 打赏
  • 举报
回复
第一个问题,在给属性赋值的时候,try...catch...判断错误类型,并抛异常

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧