AmbientValueAttribute 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定要传递给属性的值,以使该属性从另一个源中获取其值。 这称为“环境”。 此类不能被继承。
public ref class AmbientValueAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class AmbientValueAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type AmbientValueAttribute = class
inherit Attribute
Public NotInheritable Class AmbientValueAttribute
Inherits Attribute
- 继承
- 属性
示例
下面的代码示例演示如何使用 AmbientValueAttribute 强制实施名为 的属性 AlertForeColor
的环境行为。 有关完整代码列表,请参阅如何:在Windows 窗体控件中应用属性。
[AmbientValue(typeof(Color), "Empty")]
[Category("Appearance")]
[DefaultValue(typeof(Color), "White")]
[Description("The color used for painting alert text.")]
public Color AlertForeColor
{
get
{
if (this.alertForeColorValue == Color.Empty &&
this.Parent != null)
{
return Parent.ForeColor;
}
return this.alertForeColorValue;
}
set
{
this.alertForeColorValue = value;
}
}
// This method is used by designers to enable resetting the
// property to its default value.
public void ResetAlertForeColor()
{
this.AlertForeColor = AttributesDemoControl.defaultAlertForeColorValue;
}
// This method indicates to designers whether the property
// value is different from the ambient value, in which case
// the designer should persist the value.
private bool ShouldSerializeAlertForeColor()
{
return (this.alertForeColorValue != AttributesDemoControl.ambientColorValue);
}
<AmbientValue(GetType(Color), "Empty"), _
Category("Appearance"), _
DefaultValue(GetType(Color), "White"), _
Description("The color used for painting alert text.")> _
Public Property AlertForeColor() As Color
Get
If Me.alertForeColorValue = Color.Empty AndAlso (Me.Parent IsNot Nothing) Then
Return Parent.ForeColor
End If
Return Me.alertForeColorValue
End Get
Set(ByVal value As Color)
Me.alertForeColorValue = value
End Set
End Property
' This method is used by designers to enable resetting the
' property to its default value.
Public Sub ResetAlertForeColor()
Me.AlertForeColor = AttributesDemoControl.defaultAlertForeColorValue
End Sub
' This method indicates to designers whether the property
' value is different from the ambient value, in which case
' the designer should persist the value.
Private Function ShouldSerializeAlertForeColor() As Boolean
Return Me.alertForeColorValue <> AttributesDemoControl.ambientColorValue
End Function
注解
如果控件上的属性具有环境行为,则此属性必须存在。 环境属性查询其父级的值,例如 属性 Control.Font 或 Control.BackColor 属性。
通常,可视化设计器使用 AmbientValueAttribute 特性来确定要保留属性的值。 这通常是一个值,它会导致属性从另一个源获取其值。 环境值的一个示例是 Color.Empty 作为 属性的环境值 BackColor 。 如果窗体上有一个控件,BackColor并且控件的 属性设置为与BackColor窗体的 属性不同的颜色,则可以通过将控件的 设置为 来将控件的 属性重置BackColorColor.Empty为BackColor窗体的属性。
构造函数
AmbientValueAttribute(Boolean) |
在为 AmbientValueAttribute 类的新实例的值提供一个布尔值的情况下,初始化该实例。 |
AmbientValueAttribute(Byte) |
在为 AmbientValueAttribute 类的新实例的值提供一个 8 位无符号整数的情况下,初始化该实例。 |
AmbientValueAttribute(Char) |
在为 AmbientValueAttribute 类的新实例的值提供一个 Unicode 字符的情况下,初始化该实例。 |
AmbientValueAttribute(Double) |
在为 AmbientValueAttribute 类的新实例的值提供一个双精度浮点数字的情况下,初始化该实例。 |
AmbientValueAttribute(Int16) |
在为 AmbientValueAttribute 类的新实例的值提供一个 16 位有符号整数的情况下,初始化该实例。 |
AmbientValueAttribute(Int32) |
在为 AmbientValueAttribute 类的新实例的值提供一个 32 位有符号整数的情况下,初始化该实例。 |
AmbientValueAttribute(Int64) |
在为 AmbientValueAttribute 类的新实例的值提供一个 64 位有符号整数的情况下,初始化该实例。 |
AmbientValueAttribute(Object) |
在为 AmbientValueAttribute 类的新实例的值提供一个对象的情况下,初始化该实例。 |
AmbientValueAttribute(Single) |
在为 AmbientValueAttribute 类的新实例的值提供一个单精度浮点数字的情况下,初始化该实例。 |
AmbientValueAttribute(String) |
在为 AmbientValueAttribute 类的新实例的值提供一个字符串的情况下,初始化该实例。 |
AmbientValueAttribute(Type, String) |
在提供值和其类型的情况下,初始化 AmbientValueAttribute 类的新实例。 |
属性
TypeId |
在派生类中实现时,获取此 Attribute 的唯一标识符。 (继承自 Attribute) |
Value |
获取对象,该对象是此 AmbientValueAttribute 的值。 |
方法
Equals(Object) |
确定指定的 AmbientValueAttribute 是否等同于当前的 AmbientValueAttribute。 |
GetHashCode() |
返回此实例的哈希代码。 |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
IsDefaultAttribute() |
在派生类中重写时,指示此实例的值是否是派生类的默认值。 (继承自 Attribute) |
Match(Object) |
当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。 (继承自 Attribute) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
将一组名称映射为对应的一组调度标识符。 (继承自 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
检索对象的类型信息,然后可以使用该信息获取接口的类型信息。 (继承自 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
检索对象提供的类型信息接口的数量(0 或 1)。 (继承自 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供对某一对象公开的属性和方法的访问。 (继承自 Attribute) |