Sdílet prostřednictvím


AmbientValueAttribute Třída

Definice

Určuje hodnotu, která se má předat vlastnosti, aby vlastnost získala hodnotu z jiného zdroje. To se označuje jako atmosféra. Tuto třídu nelze zdědit.

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
Dědičnost
AmbientValueAttribute
Atributy

Příklady

Následující příklad kódu ukazuje použití AmbientValueAttribute k vynucení okolí chování pro vlastnost volaný AlertForeColor. Úplný výpis kódu naleznete v tématu Postupy: Použití atributů v ovládacích prvcích 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

Poznámky

Pokud vlastnost ovládacího prvku má okolní chování, musí být tento atribut přítomn. Vlastnosti okolí se dotazují na jejich nadřazenou hodnotu, Control.Font například vlastnost nebo Control.BackColor vlastnost.

Vizuální návrhář obvykle používá AmbientValueAttribute atribut k rozhodnutí, která hodnota se má zachovat pro vlastnost. Obvykle se jedná o hodnotu, která způsobí, že vlastnost získá jeho hodnotu z jiného zdroje. Příkladem okolní hodnoty je Color.Empty okolní hodnota vlastnosti BackColor . Pokud máte ovládací prvek ve formuláři a BackColor vlastnost ovládacího prvku je nastavena na jinou barvu než BackColor vlastnost formuláře, můžete vlastnost ovládacího prvku obnovit BackColor na formulář nastavením BackColor ovládacího prvku na Color.Empty.

Konstruktory

Name Description
AmbientValueAttribute(Boolean)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k logické hodnotě její hodnoty.

AmbientValueAttribute(Byte)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k 8bitové celé číslo bez znaménka pro jeho hodnotu.

AmbientValueAttribute(Char)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem ke znaku Unicode pro jeho hodnotu.

AmbientValueAttribute(Double)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k číslu s plovoucí desetinnou čárkou s dvojitou přesností pro jeho hodnotu.

AmbientValueAttribute(Int16)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k 16bitovému signed integer pro jeho hodnotu.

AmbientValueAttribute(Int32)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k 32bitovému signed integer pro jeho hodnotu.

AmbientValueAttribute(Int64)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k 64bitovému signed integeru pro jeho hodnotu.

AmbientValueAttribute(Object)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k objektu pro jeho hodnotu.

AmbientValueAttribute(Single)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k číslu s plovoucí desetinnou čárkou s jednou přesností pro svou hodnotu.

AmbientValueAttribute(String)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k řetězci pro jeho hodnotu.

AmbientValueAttribute(Type, String)

Inicializuje novou instanci AmbientValueAttribute třídy vzhledem k hodnotě a jeho typu.

Vlastnosti

Name Description
TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute.

(Zděděno od Attribute)
Value

Získá objekt, který je hodnota tohoto AmbientValueAttribute.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaná AmbientValueAttribute hodnota rovna aktuálnímu AmbientValueAttribute.

GetHashCode()

Vrátí kód hash pro tuto instanci.

GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro