PropertyValueUIHandler Delegát

Definice

Představuje metodu, která přidá delegáta do implementace .IPropertyValueUIService

public delegate void PropertyValueUIHandler(ITypeDescriptorContext ^ context, PropertyDescriptor ^ propDesc, ArrayList ^ valueUIItemList);
public delegate void PropertyValueUIHandler(ITypeDescriptorContext context, PropertyDescriptor propDesc, ArrayList valueUIItemList);
type PropertyValueUIHandler = delegate of ITypeDescriptorContext * PropertyDescriptor * ArrayList -> unit
Public Delegate Sub PropertyValueUIHandler(context As ITypeDescriptorContext, propDesc As PropertyDescriptor, valueUIItemList As ArrayList)

Parametry

context
ITypeDescriptorContext

Objekt ITypeDescriptorContext , který lze použít k získání kontextových informací.

propDesc
PropertyDescriptor

A PropertyDescriptor , který představuje dotazovanou vlastnost.

valueUIItemList
ArrayList

Objekt ArrayList obsahující PropertyValueUIItem položky uživatelského rozhraní přidružené k vlastnosti .

Příklady

Následující příklad kódu ukazuje vytvoření PropertyValueUIHandler metody obslužné rutiny události, která poskytuje PropertyValueUIItem objekty pro všechny vlastnosti s názvem HorizontalMargin nebo VerticalMargin.

// PropertyValueUIHandler delegate that provides PropertyValueUIItem
// objects to any properties named HorizontalMargin or VerticalMargin.
private void marginPropertyValueUIHandler(
    System.ComponentModel.ITypeDescriptorContext context,
    System.ComponentModel.PropertyDescriptor propDesc,
    ArrayList itemList)
{
    // A PropertyValueUIHandler added to the IPropertyValueUIService
    // is queried once for each property of a component and passed
    // a PropertyDescriptor that represents the characteristics of 
    // the property when the Properties window is set to a new 
    // component. A PropertyValueUIHandler can determine whether 
    // to add a PropertyValueUIItem for the object to its ValueUIItem 
    // list depending on the values of the PropertyDescriptor.
    if (propDesc.DisplayName.Equals("HorizontalMargin"))
    {
        Image img = Image.FromFile("SampImag.jpg");
        itemList.Add(new PropertyValueUIItem(img, new PropertyValueUIItemInvokeHandler(this.marginInvoke), "Test ToolTip"));
    }
    if (propDesc.DisplayName.Equals("VerticalMargin"))
    {
        Image img = Image.FromFile("SampImag.jpg");
        img.RotateFlip(RotateFlipType.Rotate90FlipNone);
        itemList.Add(new PropertyValueUIItem(img, new PropertyValueUIItemInvokeHandler(this.marginInvoke), "Test ToolTip"));
    }
}

Poznámky

Při vyvolání tohoto delegáta může přidat PropertyValueUIItem obsahující položky uživatelského rozhraní pro zadanou vlastnost do ArrayList předaného jako valueUIItemList parametr.

Metody rozšíření

GetMethodInfo(Delegate)

Získá objekt, který představuje metodu reprezentovanou zadaným delegátem.

Platí pro

Viz také