为什么控件的有些属性在代码中可用,但是在设计界面的属性窗口中就没有呢?

zwth001 2010-09-22 07:25:55
为什么控件的有些属性在代码中可用,但是在设计界面的属性窗口中就没有呢?
--------------------------------------------
控件的有些属性,只能在代码中设置,但是在可视化设计时,不能在属性列表中设置,比如
datagridview 的AutoGenerateColumns属性就是这样,

我开始以为自已的 vs2008 有问题,后来上网一查,发现好多网友也发过帖,也和我一样,
我现在可以确认,这是正常的。但是我还是想了解一下,为什么会这样,应该是原因而言的。

首先,我不是说这是 vs 的bug,我知道这是正常的。我想问,为什么有些属性不能在可视化窗口中设定,
只能用代码设定,有什么原则没有。

...全文
133 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
种草德鲁伊 2010-09-22
  • 打赏
  • 举报
回复
这个是已经编译好的.net类库里的代码,你可以继承它再修改。

用一个软件 Reflector, 可以反编译查看。
zwth001 2010-09-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
[BrowsableAttribute(false)]
public bool AutoGenerateColumns { get; set; }
BrowsableAttribute 类
指定一个属性 (Property) 或事件是否应显示在“属性”窗口中。
[/Quote]

我还是不太明白,您说的代码,我如何能查到?
您给的代码是 .net 系统自已的代码吗?可以自已修改吗?
wuyq11 2010-09-22
  • 打赏
  • 举报
回复
[BrowsableAttribute(false)]
public bool AutoGenerateColumns { get; set; }
BrowsableAttribute 类
指定一个属性 (Property) 或事件是否应显示在“属性”窗口中。
种草德鲁伊 2010-09-22
  • 打赏
  • 举报
回复
[DefaultValue(true), EditorBrowsable(EditorBrowsableState.Advanced), Browsable(false)]
public bool AutoGenerateColumns
种草德鲁伊 2010-09-22
  • 打赏
  • 举报
回复
因为属性上有很多Attribute,它们告诉设计器在哪里要显示或隐藏属性。

111,129

社区成员

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

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

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