バージョン

SharedProps プロパティ

ToolBase のすべてのインスタンスで共有される各種プロパティを含む SharedProps オブジェクトを返します。
シンタックス
'宣言
 
Public ReadOnly Property SharedProps As SharedProps
public SharedProps SharedProps {get;}
解説

UltraWinToolbars は、ルート ツールとインスタンス ツールという 2 通りの方法でツールを表します。ルートツールはランタイムカスタマイザに表示されるツールで、その用途はツールバーまたはメニューに表示されるツールを作成することです。インスタンスツールはユーザーが実際に操作するツールで、ツールバーまたはメニューに表示されます。インスタンスツールはそれぞれ、ただ1つのルートツールに関連付けられています。ルートツールは自身から派生した複数のインスタンスツールを持つことができます。たとえば、"FileSave" ルート ツールはアプリケーション内に 2 つのインスタンス ツールを持つことができます。1 つは [ファイル] メニューに現れてテキストのみを表示するツールで、もう 1 つは標準ツールバーに現れてイメージのみを表示するツールです。

ルート ツールとインスタンス ツールは機能的には別個のオブジェクトとして取り扱われますが、両者は密接に関係しています。ルートツールに対する変更は、そのルートから派生したすべてのインスタンスツールに影響を与えます。インスタンス ツールに対する変更は、その 1 つのインスタンスのみに影響を与える場合と、ルート ツールおよびルート ツールを通じてそのルートの他のインスタンスに影響を与える場合があります。

ルート ツールとインスタンス ツールには共有されている機能と固有の機能があるため、UltraWinToolbars では各ツールのプロパティの一部が 2 つのオブジェクトの間で分割されています。ルート ツールと、そのツールのすべてのインスタンスに適用されるプロパティは SharedProps オブジェクトが保持します。このオブジェクトにはツールの SharedProps プロパティを通じてアクセスします。その名前が示すように、SharedProps オブジェクトのプロパティはツールのすべてのインスタンスで共有されています。これらのプロパティの 1 つを変更すると、ルート ツールと、そのツールのすべてのインスタンスが影響を受けます。

ツールの 1 つのインスタンスのみに適用されるプロパティは InstanceProps オブジェクトが保持します。このオブジェクトにはツールの InstanceProps プロパティを通じてアクセスします。ルート ツールにも InstanceProps プロパティはありますが、ルート ツールに関連付けられたインスタンス プロパティは存在しないため、このプロパティは null を返します。

これらのプロパティは、"use default" 設定(そのプロパティの値が継承されることを示す)をサポートする一般的なプロパティと共に、継承階層内に存在します。特定のツールインスタンスのプロパティ設定を解決するときは、最初にプロパティのInstanceProps値が適用されます。InstancePropsプロパティが"use default"値に設定されている場合(つまり、そのプロパティのInstanceProps値は存在しない)は、プロパティのSharedProps設定が使用されます。SharedProps オブジェクトのデフォルト値は常に、コントロールで使用できる値を提供します。何らかの理由で SharedProps 値が "use default" に設定されている場合は、ルート ツールに固有の値が使用されます。

ルート ツールとインスタンス ツールの違いに関する詳細については、ヘルプの以下のセクションを参照してください。開発者ガイド > ツールセット > コントロールとコンポーネント > WinToolbarsManager > WinToolbarsManager の詳細。

使用例
Imports System.Diagnostics
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinToolbars

	Private Sub UltraToolbarsManager1_ToolClick(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinToolbars.ToolClickEventArgs) Handles UltraToolbarsManager1.ToolClick

		Debug.WriteLine("The Tool with key '" + e.Tool.Key + "' has been clicked.  It is of type: '" + e.Tool.GetType().ToString() + "'")


		' クリックされたツールのプロパティ情報を表示します
		Debug.IndentLevel += 1


		' ツールの SharedProps オブジェクトのすべてのプロパティを表示します
		Debug.WriteLine("SharedProps properties ------------------------------------------")


		' SharedProps.AllowMultipleInstances
		If e.Tool.SharedProps.AllowMultipleInstances = False Then
			Debug.WriteLine("Only one instance of this tool may be created!")
		End If

		Debug.WriteLine("Caption: '" + e.Tool.SharedProps.Caption)
		Debug.WriteLine("Tool has been assigned to category: '" + e.Tool.SharedProps.Category)
		Debug.WriteLine("The description that will be displayed for this tool in the runtime customizer is: '" + e.Tool.SharedProps.CustomizerCaption)
		Debug.WriteLine("DisplayStyle: '" + e.Tool.SharedProps.DisplayStyle.ToString())
		Debug.WriteLine("The enabled status for this tool is: '" + e.Tool.SharedProps.Enabled.ToString())
		Debug.WriteLine("MaxWidth: '" + e.Tool.SharedProps.MaxWidth.ToString())
		Debug.WriteLine("MinWidth: '" + e.Tool.SharedProps.MinWidth.ToString())
		Debug.WriteLine("The MergeOrder for this tool is: '" + e.Tool.SharedProps.MergeOrder.ToString())
		Debug.WriteLine("The MergeType for this tool is: '" + e.Tool.SharedProps.MergeType.ToString())
		Debug.WriteLine("The Priority for this tool when determining if it can be displayed on a toolbar with limited space is: '" + e.Tool.SharedProps.Priority.ToString())
		Debug.WriteLine("The Shortcut key combination associated with this tool is: '" + e.Tool.SharedProps.Shortcut.ToString())
		Debug.WriteLine("Spring: '" + e.Tool.SharedProps.Spring.ToString())
		Debug.WriteLine("Total # of instances of this tool: '" + e.Tool.SharedProps.ToolInstances.Count.ToString())
		Debug.WriteLine("ToolTipText: '" + e.Tool.SharedProps.ToolTipText.ToString())
		Debug.WriteLine("Visible: '" + e.Tool.SharedProps.Visible.ToString())
		Debug.WriteLine("Width: '" + e.Tool.SharedProps.Width.ToString())

		If e.Tool.SharedProps.ShowInCustomizer = False Then
			Debug.WriteLine("This tool will NOT be shown in the runtime customizer.")
		End If

		Debug.IndentLevel -= 1

	End Sub
using System.Diagnostics;
using Infragistics.Win;
using Infragistics.Win.UltraWinToolbars;

		private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
		{

			Debug.WriteLine("The Tool with key '" + e.Tool.Key + "' has been clicked.  It is of type: '" + e.Tool.GetType().ToString() + "'");


			// クリックされたツールのプロパティ情報を表示します
			Debug.IndentLevel++;


			// ツールの SharedProps オブジェクトのすべてのプロパティを表示します
			Debug.WriteLine("SharedProps properties ------------------------------------------");


			// SharedProps.AllowMultipleInstances
			if (e.Tool.SharedProps.AllowMultipleInstances == false)
				Debug.WriteLine("Only one instance of this tool may be created!");

			Debug.WriteLine("Caption: '" + e.Tool.SharedProps.Caption);
			Debug.WriteLine("Tool has been assigned to category: '" + e.Tool.SharedProps.Category);
			Debug.WriteLine("The description that will be displayed for this tool in the runtime customizer is: '" + e.Tool.SharedProps.CustomizerCaption);
			Debug.WriteLine("DisplayStyle: '" + e.Tool.SharedProps.DisplayStyle.ToString());
			Debug.WriteLine("The enabled status for this tool is: '" + e.Tool.SharedProps.Enabled.ToString());
			Debug.WriteLine("MaxWidth: '" + e.Tool.SharedProps.MaxWidth.ToString());
			Debug.WriteLine("MinWidth: '" + e.Tool.SharedProps.MinWidth.ToString());
			Debug.WriteLine("The MergeOrder for this tool is: '" + e.Tool.SharedProps.MergeOrder.ToString());
			Debug.WriteLine("The MergeType for this tool is: '" + e.Tool.SharedProps.MergeType.ToString());
			Debug.WriteLine("The Priority for this tool when determining if it can be displayed on a toolbar with limited space is: '" + e.Tool.SharedProps.Priority.ToString());
			Debug.WriteLine("The Shortcut key combination associated with this tool is: '" + e.Tool.SharedProps.Shortcut.ToString());
			Debug.WriteLine("Spring: '" + e.Tool.SharedProps.Spring.ToString());
			Debug.WriteLine("Total # of instances of this tool: '" + e.Tool.SharedProps.ToolInstances.Count.ToString());
			Debug.WriteLine("ToolTipText: '" + e.Tool.SharedProps.ToolTipText.ToString());
			Debug.WriteLine("Visible: '" + e.Tool.SharedProps.Visible.ToString());
			Debug.WriteLine("Width: '" + e.Tool.SharedProps.Width.ToString());

			if (e.Tool.SharedProps.ShowInCustomizer == false)
				Debug.WriteLine("This tool will NOT be shown in the runtime customizer.");


			Debug.IndentLevel--;

		}
参照