Sdílet prostřednictvím


PropertyValueUIItemInvokeHandler Delegát

Definice

Představuje metodu, která bude zpracovávat InvokeHandler událost objektu PropertyValueUIItem.

public delegate void PropertyValueUIItemInvokeHandler(ITypeDescriptorContext ^ context, PropertyDescriptor ^ descriptor, PropertyValueUIItem ^ invokedItem);
public delegate void PropertyValueUIItemInvokeHandler(ITypeDescriptorContext context, PropertyDescriptor descriptor, PropertyValueUIItem invokedItem);
type PropertyValueUIItemInvokeHandler = delegate of ITypeDescriptorContext * PropertyDescriptor * PropertyValueUIItem -> unit
Public Delegate Sub PropertyValueUIItemInvokeHandler(context As ITypeDescriptorContext, descriptor As PropertyDescriptor, invokedItem As PropertyValueUIItem)

Parametry

context
ITypeDescriptorContext

Vlastnost ITypeDescriptorContext přidružená k ikoně, na kterou bylo poklikání.

descriptor
PropertyDescriptor

Vlastnost přidružená k ikoně, na kterou bylo poklikání.

invokedItem
PropertyValueUIItem

Přidružená PropertyValueUIItem k ikoně, na kterou bylo poklikání.

Příklady

Následující příklad kódu poskytuje PropertyValueUIItem objekt pro všechny vlastnosti komponenty s názvem HorizontalMargin nebo VerticalMargin. Pro PropertyValueUIItem tyto vlastnosti poskytuje obrázek, popis a obslužnou rutinu události, která při kliknutí na obrázek pro vlastnost zobrazí okno se zprávou. Tento příklad kódu je součástí většího příkladu IPropertyValueUIService pro rozhraní.

// 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

Poklikáním na ikonu v okno Vlastnosti vyvoláte InvokeHandler událostPropertyValueUIItem, ke které je ikona přidružená. Událost InvokeHandler obvykle spustí uživatelské rozhraní pro úpravu hodnoty vlastnosti. PropertyValueUIItemInvokeHandler Přidejte do InvokeHandler vlastnosti objektu obslužnou PropertyValueUIItem rutinu události, která provede odpovídající chování, když se poklikání na ikonu zobrazenou vedle názvu vlastnosti.

Při vytváření delegáta PropertyValueUIItemInvokeHandler identifikujete metodu, která bude událost zpracovávat. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události je volána při každém výskytu události, dokud neodeberete delegáta. Další informace o delegátech obslužné rutiny událostí najdete v tématu Zpracování a vyvolávání událostí.

Metody rozšíření

GetMethodInfo(Delegate)

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

Platí pro

Viz také