PropertyValueUIItemInvokeHandler Delegat

Definicja

Reprezentuje metodę, która obsłuży InvokeHandler zdarzenie klasy 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

Właściwość ITypeDescriptorContext właściwości skojarzonej z ikoną, która została dwukrotnie kliknięta.

descriptor
PropertyDescriptor

Właściwość skojarzona z ikoną, która została dwukrotnie kliknięta.

invokedItem
PropertyValueUIItem

Skojarzony PropertyValueUIItem z ikoną, która została dwukrotnie kliknięta.

Przykłady

Poniższy przykład kodu zawiera PropertyValueUIItem obiekt dla dowolnych właściwości składnika o nazwie HorizontalMargin lub VerticalMargin. Te PropertyValueUIItem właściwości udostępniają obraz, etykietkę narzędzia i procedurę obsługi zdarzeń, która wyświetla pole komunikatu po kliknięciu obrazu właściwości. Ten przykład kodu jest częścią większego przykładu udostępnionego dla interfejsu 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"));
    }
}

Uwagi

Dwukrotne kliknięcie ikony w okno Właściwości spowoduje wystąpienie InvokeHandler zdarzenia skojarzonego PropertyValueUIItem z ikoną. Zdarzenie InvokeHandler zwykle uruchamia interfejs użytkownika w celu edytowania wartości właściwości. Dodaj element do PropertyValueUIItemInvokeHandlerInvokeHandler właściwości elementu , PropertyValueUIItem aby przypisać procedurę obsługi zdarzeń w celu wykonania odpowiedniego zachowania, gdy ikona wyświetlana obok nazwy właściwości zostanie dwukrotnie kliknięta.

Podczas tworzenia delegata należy zidentyfikować metodę PropertyValueUIItemInvokeHandler , która będzie obsługiwać zdarzenie. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, dodaj wystąpienie delegata do zdarzenia. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata. Aby uzyskać więcej informacji na temat delegatów programu obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.

Metody rozszerzania

GetMethodInfo(Delegate)

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

Dotyczy

Zobacz też