Version

Key Property (ToolBase)

Returns or sets a value that uniquely identifies an object in a collection.
Syntax
'Declaration
 
Public Overrides Property Key As String
public override string Key {get; set;}
Remarks

The Key property is a unique, user-defined object identification string that can be used interchangeably with the Index of an object when accessing it through code. If you attempt to assign a value to the Key property is not unique in the collection, an error will occur.

The value of the Index property of an object can change when objects in the collection are reordered, such as when you add or remove objects. If you expect the Index property to change dynamically, refer to objects in a collection using the Key property. In addition, you can use the Key property to make your program "self-documenting" by assigning meaningful names to the objects in a collection.

You can set the Key property when you use the Add method to add an object to a collection. In some instances, the Key property of an object may be blank if that object does not appear in a collection.

Also, note that the uniqueness of keys is only enforced when the Key property is set to a value. If a collection supports objects with blank keys, that collection may contain multiple objects that whose Key property is empty. In that case, you must use Index property to differentiate between the objects that have blank keys.

Example
The following code demonstrates how to access some of the information passed in the event arguments of the ToolClick event.

For an overview of how to handle events in Visual Basic or Visual C#, see Event Handlers in Visual Basic and Visual C#. For specific information and code examples illustrating how to consume events in your application, see Consuming Events in the .NET Framework Developer's Guide.

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() + "'")


		' Display property information for the tool that was clicked.
		Debug.IndentLevel += 1


		Debug.WriteLine("AllowMultipleInstancesResolved: " + e.Tool.AllowMultipleInstancesResolved.ToString())
		Debug.WriteLine("CaptionResolved: '" + e.Tool.CaptionResolved + "',  SharedProps.Caption: '" + e.Tool.SharedProps.Caption)
		Debug.WriteLine("CustomizerCaptionResolved: '" + e.Tool.CustomizerCaptionResolved + "',  SharedProps.CustomizerCaption: '" + e.Tool.SharedProps.CustomizerCaption)
		Debug.WriteLine("CustomizerDescriptionResolved: '" + e.Tool.CustomizerDescriptionResolved + "',  SharedProps.CustomizerDescription: '" + e.Tool.SharedProps.CustomizerDescription)
		Debug.WriteLine("DisplayStyleResolved: '" + e.Tool.DisplayStyleResolved.ToString() + "',  SharedProps.DisplayStyle: '" + e.Tool.SharedProps.DisplayStyle.ToString())
		Debug.WriteLine("DefaultSize: '" + e.Tool.DefaultSize.ToString() + ", Actual Width: " + e.Tool.WidthResolved.ToString() + ", Actual Height: " + e.Tool.Height.ToString())
		Debug.WriteLine("EnabledResolved: '" + e.Tool.EnabledResolved.ToString())
		Debug.WriteLine("Tool '" + e.Tool.Key + "' has an Index in its parent collection of: " + e.Tool.Index.ToString())
		Debug.WriteLine("IsActiveTool: " + e.Tool.IsActiveTool.ToString())

		If Not e.Tool.InstanceProps Is Nothing Then
			Debug.WriteLine("IsFirstInGroupResolved: '" + e.Tool.IsFirstInGroupResolved.ToString() + "',  InstanceProps.IsFirstInGroup: '" + e.Tool.InstanceProps.IsFirstInGroup.ToString())
		End If

		Debug.WriteLine("IsRootTool: " + e.Tool.IsRootTool.ToString())
		Debug.WriteLine("MaxWidthResolved: " + e.Tool.MaxWidthResolved.ToString())
		Debug.WriteLine("MinWidthResolved: " + e.Tool.MinWidthResolved.ToString())
		Debug.WriteLine("MinimumSize: " + e.Tool.MinimumSize.ToString())
		Debug.WriteLine("OwnerIsNull: " + e.Tool.OwnerIsNull.ToString())

		If Not e.Tool.InstanceProps Is Nothing Then
			Debug.WriteLine("RecentlyUsedResolved: '" + e.Tool.RecentlyUsedResolved.ToString() + "',  InstanceProps.RecentlyUsed: '" + e.Tool.InstanceProps.RecentlyUsed.ToString())
		End If

		Debug.WriteLine("ShortcutResolved: '" + e.Tool.ShortcutResolved.ToString() + "',  SharedProps.Shortcut: '" + e.Tool.SharedProps.Shortcut.ToString())

		If Not e.Tool.InstanceProps Is Nothing Then
			Debug.WriteLine("SpringResolved: '" + e.Tool.SpringResolved.ToString() + "',  InstanceProps.Spring: '" + e.Tool.InstanceProps.Spring.ToString())
		End If

		Debug.WriteLine("The toolbar manager's Name property is set to: '" + e.Tool.ToolbarsManager.Site.Name)
		Debug.WriteLine("TooltipTextResolved: '" + e.Tool.ToolTipTextResolved + "',  SharedProps.TooltipText: '" + e.Tool.SharedProps.ToolTipText)

		If Not e.Tool.InstanceProps Is Nothing Then
			Debug.WriteLine("VisibleResolved: '" + e.Tool.VisibleResolved.ToString() + "',  InstanceProps.Visible: '" + e.Tool.InstanceProps.Visible.ToString())
		End If


		If Not e.Tool.InstanceProps Is Nothing Then
			Debug.WriteLine("WidthResolved: '" + e.Tool.WidthResolved.ToString() + "',  InstanceProps.Width: '" + e.Tool.InstanceProps.Width.ToString())
		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() + "'");


			// Display property information for the tool that was clicked.
			Debug.IndentLevel++;


			Debug.WriteLine("AllowMultipleInstancesResolved: " + e.Tool.AllowMultipleInstancesResolved.ToString());
			Debug.WriteLine("CaptionResolved: '" + e.Tool.CaptionResolved + "',  SharedProps.Caption: '" + e.Tool.SharedProps.Caption);
			Debug.WriteLine("CustomizerCaptionResolved: '" + e.Tool.CustomizerCaptionResolved + "',  SharedProps.CustomizerCaption: '" + e.Tool.SharedProps.CustomizerCaption);
			Debug.WriteLine("CustomizerDescriptionResolved: '" + e.Tool.CustomizerDescriptionResolved + "',  SharedProps.CustomizerDescription: '" + e.Tool.SharedProps.CustomizerDescription);
			Debug.WriteLine("DisplayStyleResolved: '" + e.Tool.DisplayStyleResolved.ToString() + "',  SharedProps.DisplayStyle: '" + e.Tool.SharedProps.DisplayStyle.ToString());
			Debug.WriteLine("DefaultSize: '" + e.Tool.DefaultSize.ToString() + ", Actual Width: " + e.Tool.WidthResolved.ToString() + ", Actual Height: " + e.Tool.Height.ToString());
			Debug.WriteLine("EnabledResolved: '" + e.Tool.EnabledResolved.ToString());
			Debug.WriteLine("Tool '" + e.Tool.Key + "' has an Index in its parent collection of: " + e.Tool.Index.ToString()); 
			Debug.WriteLine("IsActiveTool: " + e.Tool.IsActiveTool.ToString());

			if (e.Tool.InstanceProps != null)
				Debug.WriteLine("IsFirstInGroupResolved: '" + e.Tool.IsFirstInGroupResolved + "',  InstanceProps.IsFirstInGroup: '" + e.Tool.InstanceProps.IsFirstInGroup);

			Debug.WriteLine("IsRootTool: " + e.Tool.IsRootTool.ToString());
			Debug.WriteLine("MaxWidthResolved: " + e.Tool.MaxWidthResolved.ToString());
			Debug.WriteLine("MinWidthResolved: " + e.Tool.MinWidthResolved.ToString());
			Debug.WriteLine("MinimumSize: " + e.Tool.MinimumSize.ToString());
			Debug.WriteLine("OwnerIsNull: " + e.Tool.OwnerIsNull.ToString());

			if (e.Tool.InstanceProps != null)
				Debug.WriteLine("RecentlyUsedResolved: '" + e.Tool.RecentlyUsedResolved + "',  InstanceProps.RecentlyUsed: '" + e.Tool.InstanceProps.RecentlyUsed);

			Debug.WriteLine("ShortcutResolved: '" + e.Tool.ShortcutResolved + "',  SharedProps.Shortcut: '" + e.Tool.SharedProps.Shortcut);

			if (e.Tool.InstanceProps != null)
				Debug.WriteLine("SpringResolved: '" + e.Tool.SpringResolved + "',  InstanceProps.Spring: '" + e.Tool.InstanceProps.Spring);

			Debug.WriteLine("The toolbar manager's Name property is set to: '" + e.Tool.ToolbarsManager.Site.Name);
			Debug.WriteLine("TooltipTextResolved: '" + e.Tool.ToolTipTextResolved + "',  SharedProps.TooltipText: '" + e.Tool.SharedProps.ToolTipText);

			if (e.Tool.InstanceProps != null)
				Debug.WriteLine("VisibleResolved: '" + e.Tool.VisibleResolved + "',  InstanceProps.Visible: '" + e.Tool.InstanceProps.Visible);
			
			if (e.Tool.InstanceProps != null)
				Debug.WriteLine("WidthResolved: '" + e.Tool.WidthResolved + "',  InstanceProps.Width: '" + e.Tool.InstanceProps.Width);

			
			Debug.IndentLevel--;

		}
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also