AmbientValueAttribute Classe

Definizione

Specifica il valore per passare a una proprietà che determini il proprio valore da un'altra origine. Questo concetto è noto come ambiente. La classe non può essere ereditata.

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
Ereditarietà
AmbientValueAttribute
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato l'uso AmbientValueAttribute di per applicare il comportamento di ambiente per una proprietà denominata AlertForeColor. Per un elenco di codice completo, vedere Procedura: Applicare attributi nei controlli 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

Commenti

Se una proprietà in un controllo ha un comportamento di ambiente, questo attributo deve essere presente. Le proprietà di ambiente eseguono query sul relativo valore padre, ad esempio una Control.Font proprietà o una Control.BackColor proprietà.

In genere, una finestra di progettazione visiva usa l'attributo AmbientValueAttribute per decidere quale valore rendere persistente per una proprietà. Si tratta in genere di un valore che fa sì che la proprietà ottiene il relativo valore da un'altra origine. Un esempio di valore di ambiente è Color.Empty il valore di ambiente per la BackColor proprietà . Se si dispone di un controllo in una maschera e la BackColor proprietà del controllo è impostata su un colore diverso rispetto BackColor alla proprietà della maschera, è possibile reimpostare la BackColor proprietà del controllo su quella della maschera impostando l'oggetto BackColor del controllo su Color.Empty.

Costruttori

AmbientValueAttribute(Boolean)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, dato un valore Boolean come relativo valore.

AmbientValueAttribute(Byte)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, dato un intero senza segno a 8 bit come relativo valore.

AmbientValueAttribute(Char)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, dato un carattere Unicode come relativo valore.

AmbientValueAttribute(Double)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, dato un numero in virgola mobile e precisione doppia come relativo valore.

AmbientValueAttribute(Int16)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, dato un intero con segno a 16 bit come relativo valore.

AmbientValueAttribute(Int32)

Inizializza una nuova istanza della classe AmbientValueAttribute, dato un intero con segno a 32 bit come relativo valore.

AmbientValueAttribute(Int64)

Inizializza una nuova istanza della classe AmbientValueAttribute, dato un intero con segno a 64 bit come relativo valore.

AmbientValueAttribute(Object)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, dato un oggetto come relativo valore.

AmbientValueAttribute(Single)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, dato un numero in virgola mobile e precisione singola come relativo valore.

AmbientValueAttribute(String)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, data una stringa come relativo valore.

AmbientValueAttribute(Type, String)

Consente di inizializzare una nuova istanza della classe AmbientValueAttribute, dato il valore e il relativo tipo.

Proprietà

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)
Value

Ottiene l'oggetto che corrisponde al valore di AmbientValueAttribute.

Metodi

Equals(Object)

Determina se l'oggetto AmbientValueAttribute specificato è uguale all'oggetto AmbientValueAttribute corrente.

GetHashCode()

Restituisce il codice hash per l'istanza.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a