PropertyValueUIHandler Delegat

Definicja

Reprezentuje metodę, która dodaje delegata do implementacji elementu 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

Element ITypeDescriptorContext , który może służyć do uzyskiwania informacji kontekstowych.

propDesc
PropertyDescriptor

Obiekt PropertyDescriptor reprezentujący badaną właściwość.

valueUIItemList
ArrayList

PropertyValueUIItem Obiekt ArrayList zawierający elementy interfejsu użytkownika skojarzone z właściwością .

Przykłady

W poniższym przykładzie kodu pokazano tworzenie PropertyValueUIHandler metody obsługi zdarzeń, która udostępnia PropertyValueUIItem obiekty dla dowolnych właściwości o nazwie HorizontalMargin lub 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"));
    }
}

Uwagi

Po wywołaniu tego delegata może dodać PropertyValueUIItem zawierający elementy interfejsu użytkownika dla określonej właściwości do przekazanego ArrayList jako parametr.valueUIItemList

Metody rozszerzania

GetMethodInfo(Delegate)

Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata.

Dotyczy

Zobacz też