免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1241 | 回复: 0
打印 上一主题 下一主题

自定义控件里DefaultValue属性的作用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:51 |只看该作者 |倒序浏览
老外的回答:                                                                            
DefaultValue has nothing to do with setting the inital value of the property as defined in the documentation for DefaultValueAttribute:                                                                            
You can create a DefaultValueAttribute with any value. A member's defaultvalue is typically its initial value. A visual designer can use the defaultvalue to reset the member's value. Code generators can use the default                                                                            
values also to determine whether code should be generated for the member.                                                                            
                                                                            
一位网友:                                                                            
DefaultValue的作用:不是提供设计时的默认值,他的作用是 当你在IDE的属性栏里 输入或选择的值 与 你DefaultValue相同时,这个值不变黑【加粗显示】。                                                                            
补充一下,就是当你在设计视图中在属性编辑器中,把属性值设置成默认值时,该值就不再加粗显示。明白?他只有这么一个作用,你设置的值跟他DefaultValue一样时,他不加粗显示,再没别的用处。                                                                            
问题就是有时你在编辑器的属性里看到他已经默认了,所以就当是选中了,所以就不设置了,而你的控件里却没有设置默认值(不是设置DefaultValue),从而导致你总感觉莫名其妙的问题。                                                                            
属性看起来没有变粗有两种情况:一是设置了DefaultValue,而你没有自己选择或输入值,二是选择或输入了一个值与DefaultValue值一样,你看不出来。                                                                            
当然DefaultValue不是可以任意设置的,他得设置成跟这个属性相同的类型,不然重置时就会出现类似提示:                                                                            
---------------------------                                                                            
Microsoft Visual Studio                                                                            
---------------------------                                                                            
类型“System.String”的对象无法转换为类型“YongFa365.Controls.NumTextBox.NumTextBox+NumTextBoxType”。                                                                            
---------------------------                                                                            
                                                                            
DefaultValue“不是提供设计时的默认值”。仅仅起到重置属性,不生成代码的作用。默认值在属性定义中对应的private处可设定。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP