Chinaunix首页 | 论坛 | 博客
  • 博客访问: 137045
  • 博文数量: 26
  • 博客积分: 811
  • 博客等级: 军士长
  • 技术积分: 302
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-15 10:07
文章分类

全部博文(26)

文章存档

2012年(12)

2011年(14)

我的朋友

分类: 嵌入式

2011-07-22 12:16:41

老外的回答:                                                                            
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处可设定。
阅读(4731) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~