AmbientValueAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica il valore da passare a una proprietà per fare in modo che la proprietà ottenga il relativo valore da un'altra origine. Questo è noto come ambiente . Questa 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à
- 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 Form.
[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
Commenti
Se una proprietà di un controllo ha un comportamento di ambiente, questo attributo deve essere presente. Le proprietà di ambiente eseguono una 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à ottenga 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
| Nome | Descrizione |
|---|---|
| AmbientValueAttribute(Boolean) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un valore booleano per il relativo valore. |
| AmbientValueAttribute(Byte) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un intero senza segno a 8 bit per il relativo valore. |
| AmbientValueAttribute(Char) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un carattere Unicode per il relativo valore. |
| AmbientValueAttribute(Double) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un numero a virgola mobile e precisione doppia per il relativo valore. |
| AmbientValueAttribute(Int16) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un intero con segno a 16 bit per il relativo valore. |
| AmbientValueAttribute(Int32) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un intero con segno a 32 bit per il relativo valore. |
| AmbientValueAttribute(Int64) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un intero con segno a 64 bit per il relativo valore. |
| AmbientValueAttribute(Object) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un oggetto per il relativo valore. |
| AmbientValueAttribute(Single) |
Inizializza una nuova istanza della AmbientValueAttribute classe , dato un numero a virgola mobile a precisione singola per il relativo valore. |
| AmbientValueAttribute(String) |
Inizializza una nuova istanza della AmbientValueAttribute classe , data una stringa per il relativo valore. |
| AmbientValueAttribute(Type, String) |
Inizializza una nuova istanza della AmbientValueAttribute classe , in base al valore e al relativo tipo. |
Proprietà
| Nome | Descrizione |
|---|---|
| TypeId |
Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute. (Ereditato da Attribute) |
| Value |
Ottiene l'oggetto che rappresenta il valore di questo AmbientValueAttributeoggetto . |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato AmbientValueAttribute è uguale all'oggetto corrente AmbientValueAttribute. |
| GetHashCode() |
Restituisce il codice hash per questa istanza. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IsDefaultAttribute() |
Quando sottoposto a 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 è uguale a un oggetto specificato. (Ereditato da Attribute) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| _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 per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per 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 alle proprietà e ai metodi esposti da un oggetto . (Ereditato da Attribute) |