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.
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--; }
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