Compartilhar via


AmbientValueAttribute Classe

Definição

Especifica o valor a ser passado para uma propriedade para fazer com que a propriedade obtenha o seu valor de outra origem. 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 de para impor o comportamento ambiente para uma propriedade chamada AlertForeColor. Para obter uma listagem de código completa, consulte Como aplicar atributos em controles Windows Forms.

[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

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 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 de ambiente é Color.Empty como o valor de ambiente para a 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 do controle como Color.Empty.

Construtores

AmbientValueAttribute(Boolean)

Inicializa uma nova instância da classe AmbientValueAttribute, dado um valor booliano de seu valor.

AmbientValueAttribute(Byte)

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

AmbientValueAttribute(Char)

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

AmbientValueAttribute(Double)

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

AmbientValueAttribute(Int16)

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

AmbientValueAttribute(Int32)

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

AmbientValueAttribute(Int64)

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

AmbientValueAttribute(Object)

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

AmbientValueAttribute(Single)

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

AmbientValueAttribute(String)

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

AmbientValueAttribute(Type, String)

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

Propriedades

TypeId

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

(Herdado de Attribute)
Value

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

Métodos

Equals(Object)

Determina se o AmbientValueAttribute especificado é igual ao AmbientValueAttribute atual.

GetHashCode()

Retorna o código hash para a 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 Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

_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 para um objeto, que pode ser usado para obter as informações de tipo para 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