PropertyValueUIItem.InvokeHandler プロパティ
アセンブリ: System.Drawing (system.drawing.dll 内)

Dim instance As PropertyValueUIItem Dim value As PropertyValueUIItemInvokeHandler value = instance.InvokeHandler
public: virtual property PropertyValueUIItemInvokeHandler^ InvokeHandler { PropertyValueUIItemInvokeHandler^ get (); }
ユーザー インターフェイス (UI) 項目のイベント ハンドラを示す PropertyValueUIItemInvokeHandler。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


PropertyValueUIItemInvokeHandler デリゲート
アセンブリ: System.Drawing (system.drawing.dll 内)

Public Delegate Sub PropertyValueUIItemInvokeHandler ( _ context As ITypeDescriptorContext, _ descriptor As PropertyDescriptor, _ invokedItem As PropertyValueUIItem _ )
public delegate void PropertyValueUIItemInvokeHandler ( ITypeDescriptorContext context, PropertyDescriptor descriptor, PropertyValueUIItem invokedItem )
public delegate void PropertyValueUIItemInvokeHandler ( ITypeDescriptorContext^ context, PropertyDescriptor^ descriptor, PropertyValueUIItem^ invokedItem )
/** @delegate */ public delegate void PropertyValueUIItemInvokeHandler ( ITypeDescriptorContext context, PropertyDescriptor descriptor, PropertyValueUIItem invokedItem )

プロパティ ウィンドウでアイコンをダブルクリックすると、そのアイコンに関連付けられている PropertyValueUIItem の InvokeHandler イベントが発生します。通常、InvokeHandler イベントは、プロパティの値を編集するためのユーザー インターフェイス (UI) を起動します。PropertyValueUIItem の InvokeHandler プロパティに PropertyValueUIItemInvokeHandler を追加して、プロパティ名の横に表示されたアイコンがダブルクリックされると該当する動作を実行する、イベントハンドラを割り当てます。
PropertyValueUIItemInvokeHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「イベントとデリゲート」を参照してください。

HorizontalMargin または VerticalMargin という名前のコンポーネントのプロパティの PropertyValueUIItem オブジェクトを次のコード例に示します。なお、この PropertyValueUIItem は、対象のプロパティにイメージとツールヒントを提供するだけでなく、それらのプロパティのイメージがクリックされたときにメッセージ ボックスを表示するイベント ハンドラも提供します。このコード例は IPropertyValueUIService インターフェイスのトピックで取り上げているコード例の一部分です。
' PropertyValueUIHandler delegate that provides PropertyValueUIItem ' objects to any properties named HorizontalMargin or VerticalMargin. Private Sub marginPropertyValueUIHandler(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal propDesc As System.ComponentModel.PropertyDescriptor, ByVal itemList As ArrayList) ' 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") Then Dim img As Image = DeserializeFromBase64Text(imageBlob1) itemList.Add(New PropertyValueUIItem(img, New PropertyValueUIItemInvokeHandler(AddressOf Me.marginInvoke), "Test ToolTip")) End If If propDesc.DisplayName.Equals("VerticalMargin") Then Dim img As Image = DeserializeFromBase64Text(imageBlob1) img.RotateFlip(RotateFlipType.Rotate90FlipNone) itemList.Add(New PropertyValueUIItem(img, New PropertyValueUIItemInvokeHandler(AddressOf Me.marginInvoke), "Test ToolTip")) End If End Sub
// 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 = DeserializeFromBase64Text(imageBlob1); itemList.Add( new PropertyValueUIItem( img, new PropertyValueUIItemInvokeHandler(this.marginInvoke), "Test ToolTip") ); } if( propDesc.DisplayName.Equals( "VerticalMargin" ) ) { Image img = DeserializeFromBase64Text(imageBlob1); img.RotateFlip(RotateFlipType.Rotate90FlipNone); itemList.Add( new PropertyValueUIItem( img, new PropertyValueUIItemInvokeHandler(this.marginInvoke), "Test ToolTip") ); } }
// 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" ) ); } }
// 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.get_DisplayName().Equals("HorizontalMargin")) { Image img = DeserializeFromBase64Text(imageBlob1); itemList.Add(new PropertyValueUIItem(img, new PropertyValueUIItemInvokeHandler(this.MarginInvoke) , "Test ToolTip")); } if (propDesc.get_DisplayName().Equals("VerticalMargin")) { Image img = DeserializeFromBase64Text(imageBlob1); img.RotateFlip(RotateFlipType.Rotate90FlipNone); itemList.Add(new PropertyValueUIItem(img, new PropertyValueUIItemInvokeHandler(this.MarginInvoke) , "Test ToolTip")); } } //MarginPropertyValueUIHandler

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- PropertyValueUIItem.InvokeHandlerのページへのリンク