PropertyValueUIHandler Delegate
.NET Framework (current version)
Represents the method that adds a delegate to an implementation of IPropertyValueUIService.
Assembly: System.Drawing (in System.Drawing.dll)
public delegate void PropertyValueUIHandler( ITypeDescriptorContext^ context, PropertyDescriptor^ propDesc, ArrayList^ valueUIItemList )
Parameters
- context
-
Type:
System.ComponentModel::ITypeDescriptorContext^
An ITypeDescriptorContext that can be used to obtain context information.
- propDesc
-
Type:
System.ComponentModel::PropertyDescriptor^
A PropertyDescriptor that represents the property being queried.
- valueUIItemList
-
Type:
System.Collections::ArrayList^
An ArrayList of PropertyValueUIItem objects containing the UI items associated with the property.
When this delegate is invoked, it can add a PropertyValueUIItem containing UI items for the specified property to the ArrayList passed as the valueUIItemList parameter.
This following code example demonstrates creating a PropertyValueUIHandler event handler method that provides PropertyValueUIItem objects for any properties named HorizontalMargin or VerticalMargin.
// PropertyValueUIHandler delegate that provides PropertyValueUIItem // objects to any properties named horizontalMargin or verticalMargin. 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 = DeserializeFromBase64Text( imageBlob1 ); itemList->Add( gcnew PropertyValueUIItem( img,gcnew PropertyValueUIItemInvokeHandler( this, &PropertyUIComponent::marginInvoke ),"Test ToolTip" ) ); } if ( propDesc->DisplayName->Equals( "verticalMargin" ) ) { Image^ img = DeserializeFromBase64Text( imageBlob1 ); img->RotateFlip( RotateFlipType::Rotate90FlipNone ); itemList->Add( gcnew PropertyValueUIItem( img,gcnew PropertyValueUIItemInvokeHandler( this, &PropertyUIComponent::marginInvoke ),"Test ToolTip" ) ); } }
.NET Framework
Available since 1.1
Available since 1.1
Show: