Condividi tramite


PropertyValueUIItemInvokeHandler Delegato

Definizione

Rappresenta il metodo che gestirà l'evento InvokeHandler di un oggetto 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)

Parametri

context
ITypeDescriptorContext

L'oggetto ITypeDescriptorContext della proprietà associata all'icona su cui è stato fatto doppio clic.

descriptor
PropertyDescriptor

La proprietà associata all'icona su cui è stato fatto doppio clic.

invokedItem
PropertyValueUIItem

L'oggetto PropertyValueUIItem associato all'icona su cui è stato fatto doppio clic.

Esempio

Nell'esempio di codice seguente viene fornito un PropertyValueUIItem oggetto per le proprietà del componente denominato HorizontalMargin o VerticalMargin. Per PropertyValueUIItem queste proprietà viene fornita un'immagine, una descrizione comando e un gestore eventi che visualizza una finestra di messaggio quando viene fatto clic sull'immagine per la proprietà. Questo esempio di codice fa parte di un esempio più grande fornito per l'interfaccia IPropertyValueUIService .

// 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"));
    }
}

Commenti

Facendo doppio clic su un'icona nella Finestra Proprietà verrà generato l'evento InvokeHandler dell'icona PropertyValueUIItem associato. L'evento InvokeHandler avvia in genere un'interfaccia utente per modificare il valore della proprietà. Aggiungere un PropertyValueUIItemInvokeHandler oggetto alla InvokeHandler proprietà di un PropertyValueUIItem oggetto per assegnare un gestore eventi per eseguire il comportamento appropriato quando l'icona visualizzata accanto al nome della proprietà viene fatto doppio clic.

Quando si crea un delegato PropertyValueUIItemInvokeHandler, si identifica il metodo che gestirà l'evento. Per associare l'evento al gestore eventi in uso, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non venga rimosso il delegato. Per altre informazioni sui delegati del gestore eventi, vedere Gestione e generazione di eventi.

Metodi di estensione

GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a

Vedi anche