Поделиться через


PropertyValueUIItemInvokeHandler Делегат

Определение

Представляет метод, обрабатывающий событие InvokeHandler объекта 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)

Параметры

context
ITypeDescriptorContext

Интерфейс ITypeDescriptorContext для свойства, связанного со значком, для которого был выполнен двойной щелчок.

descriptor
PropertyDescriptor

Свойство, связанное со значком, для которого был выполнен двойной щелчок.

invokedItem
PropertyValueUIItem

Объект PropertyValueUIItem, связанный со значком, для которого был выполнен двойной щелчок.

Примеры

В следующем примере кода предоставляется PropertyValueUIItem объект для любых свойств компонента с именем HorizontalMargin или VerticalMargin. Для PropertyValueUIItem этих свойств предоставляет изображение, подсказку и обработчик событий, который отображает окно сообщения при щелчке изображения для свойства. Этот пример кода является частью более крупного примера, предоставленного 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"));
    }
}

Комментарии

Двойной щелчок значка в окно свойств вызовет InvokeHandler событие PropertyValueUIItem объекта , с которым связан значок. Событие InvokeHandler обычно запускает пользовательский интерфейс для изменения значения свойства. PropertyValueUIItemInvokeHandler Добавьте к свойству InvokeHandlerPropertyValueUIItem объекта , чтобы назначить обработчику событий соответствующее поведение при двойном щелчке значка, отображаемого рядом с именем свойства.

При создании делегата PropertyValueUIItemInvokeHandler необходимо указать метод, обрабатывающий событие. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален. Дополнительные сведения о делегатах обработчика событий см. в разделе Обработка и вызов событий.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.

Применяется к

См. также раздел