您的位置:首页 > 其它

设计时支持:如何获取环境数据

2007-08-13 17:31 246 查看
目前的软件,对于人机交互得要求越来越高,微软在设计器中提供的控件已经无法满足日常开发的需要。为了应对这种局面,通常的做法是购买第三方或者自己开发。此处我们不谈论这两种做法的优点和缺点。但是在日常开发中,我们肯定离不开开发一些小控件,如果具备微软常用空间的特性和功能,以便降低使用者的洪沟?更好的集成到Visual Studio 中?
例如下图所示



拖放一个Button到窗体上,鼠标右键点击,我们会看到“重置”菜单,当用户输入了某个值以后,发现这不是他想要的,这是可以使用重值功能恢复到初始状态。这是AmbientValueAttribute的功能表现。

MSDN上有句话介绍了此特性标记的主要功能和使用方式:
“通常,可视化设计器使用 AmbientValueAttribute 属性来决定为属性永久保存的值。这通常是一个使属性从另一个源获取其值的值。周围值的一个示例是 Color.Empty 作为 BackColor 属性的周围值。如果您在窗体上具有一个控件,并且该控件的 BackColor 属性被设置为与该窗体的 BackColor 属性不同的颜色,则您可以通过将该控件的 BackColor 设置为 Color.Empty 来将该控件的 BackColor 属性重置为该窗体的颜色。”

1 [AmbientValue("NoName")]
2 public string Title {
3 get {
4 if (_title == "NoName" && Parent != null) {
5 Form f = Parent as Form;
6 _title = f.Text;
7 }
8 return _title;
9 }
10 set { _title = value; }
11 }
以上代码当重置操作时,控件将获得承载它的窗体容器,使用Form.Text的值填充Title属性。它的使用并不复杂,既可以标识在类上也可以标识属性上。小小的功能,可以改善用户体验,何乐而不为呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: