Partilhar via


AmbientValueAttribute Classe

Definição

Especifica o valor a ser passado para uma propriedade para fazer com que a propriedade obtenha seu valor de outra fonte. Isso é conhecido como ambiente. Essa classe não pode ser herdada.

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
Herança
AmbientValueAttribute
Atributos

Exemplos

O exemplo de código a seguir demonstra o uso AmbientValueAttribute para impor o comportamento ambiente para uma propriedade chamada AlertForeColor. Para obter uma listagem de código completa, consulte Como aplicar atributos em controles do Windows Forms.

[AmbientValue(typeof(Color), "Empty")]
[Category("Appearance")]
[DefaultValue(typeof(Color), "White")]
[Description("The color used for painting alert text.")]
public Color AlertForeColor
{
    get =>
        _alertForeColorValue == Color.Empty &&
        Parent != null
            ? Parent.ForeColor
            : _alertForeColorValue;

    set => _alertForeColorValue = value;
}

// This method is used by designers to enable resetting the
// property to its default value.
public void ResetAlertForeColor() =>
    AlertForeColor = s_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.
bool ShouldSerializeAlertForeColor() =>
    _alertForeColorValue != s_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

Comentários

Se uma propriedade em um controle tiver um comportamento ambiente, esse atributo deverá estar presente. As propriedades de ambiente consultam seu pai quanto ao seu valor, por exemplo, uma Control.Font propriedade ou uma Control.BackColor propriedade.

Normalmente, um designer visual usa o AmbientValueAttribute atributo para decidir qual valor persistir para uma propriedade. Geralmente, esse é um valor que faz com que a propriedade obtenha seu valor de outra fonte. Um exemplo de um valor ambiente é Color.Empty como o valor ambiente da BackColor propriedade. Se você tiver um controle em um formulário e a BackColor propriedade do controle for definida como uma cor BackColor diferente da propriedade do formulário, você poderá redefinir a BackColor propriedade do controle para a do formulário definindo o BackColor controle como Color.Empty.

Construtores

Nome Description
AmbientValueAttribute(Boolean)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um valor booliano para seu valor.

AmbientValueAttribute(Byte)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um inteiro sem sinal de 8 bits para seu valor.

AmbientValueAttribute(Char)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um caractere Unicode para seu valor.

AmbientValueAttribute(Double)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um número de ponto flutuante de precisão dupla para seu valor.

AmbientValueAttribute(Int16)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um inteiro com sinal de 16 bits para seu valor.

AmbientValueAttribute(Int32)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um inteiro com sinal de 32 bits para seu valor.

AmbientValueAttribute(Int64)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um inteiro com sinal de 64 bits para seu valor.

AmbientValueAttribute(Object)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um objeto para seu valor.

AmbientValueAttribute(Single)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando um número de ponto flutuante de precisão única para seu valor.

AmbientValueAttribute(String)

Inicializa uma nova instância da AmbientValueAttribute classe, dada uma cadeia de caracteres para seu valor.

AmbientValueAttribute(Type, String)

Inicializa uma nova instância da AmbientValueAttribute classe, considerando o valor e seu tipo.

Propriedades

Nome Description
TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute.

(Herdado de Attribute)
Value

Obtém o objeto que é o valor deste AmbientValueAttribute.

Métodos

Nome Description
Equals(Object)

Determina se o especificado AmbientValueAttribute é igual ao atual AmbientValueAttribute.

GetHashCode()

Retorna o código hash dessa instância.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a