Version

InstanceProps Class

Class which exposes properties that are specific to a single instance of a ToolBase derived object.
Syntax
'Declaration
 
Public NotInheritable Class InstanceProps 
   Inherits ToolPropsBase
public sealed class InstanceProps : ToolPropsBase 
Remarks

All tools in the same UltraToolbarsManager with the same Key and type will have the same SharedProps object. For example, setting the Caption on the SharedProps of a button tool with the key "Exit" in a file menu will change the caption of all button tools with the key "Exit" on all menus and toolbars.

The InstanceProps of a tool take precedence over the SharedProps. When resolving a property for a tool the value of the property on the InstanceProps will be checked first. If it is default, the value of the property on the SharedProps will be used. If that is also default, the most appropriate default value for the tool's type will be used.

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

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

		' Display all the properties of the tool's InstanceProps object.
		Debug.WriteLine("InstanceProps properties ------------------------------------------")


		If Not e.Tool.InstanceProps Is Nothing Then
			Debug.WriteLine("Caption: '" + e.Tool.InstanceProps.Caption)
			Debug.WriteLine("DisplayStyle: '" + e.Tool.InstanceProps.DisplayStyle.ToString())
			Debug.WriteLine("MaxWidth: '" + e.Tool.InstanceProps.MaxWidth.ToString())
			Debug.WriteLine("MinWidth: '" + e.Tool.InstanceProps.MinWidth.ToString())
			Debug.WriteLine("Width: '" + e.Tool.InstanceProps.Width.ToString())

			' InstanceProps.IsFirstInGroup
			If e.Tool.InstanceProps.IsFirstInGroup Then
				Debug.WriteLine("Tool has been marked as first in group (i.e., preceded by a tool separator). This setting may have been customized by the end user.  Use the tool's IsFirstInGroupResolved property to get its effective setting.")
			Else
				Debug.WriteLine("Tool has NOT been marked as first in group (i.e., preceded by a tool separator).  This setting may have been customized by the end user.  Use the tool's IsFirstInGroupResolved property to get its effective setting.")
			End If

			' InstanceProps.RecentlyUsed
			If e.Tool.InstanceProps.RecentlyUsed = True Then
				Debug.WriteLine("Tool will appear when menus are first displayed even if AlwaysShowFullMenus is set to false.  This setting may have been customized by the end user.  Use the tool's RecentlyUsedResolved property to get its effective setting.")
			Else
				Debug.WriteLine("Tool will NOT appear when menus are first displayed if AlwaysShowFullMenus is set to false.  This setting may have been customized by the end user.  Use the tool's RecentlyUsedResolved property to get its effective setting.")
			End If

			' InstanceProps.Spring
			If e.Tool.InstanceProps.Spring = DefaultableBoolean.True Then
				If e.Tool.OwnerIsToolbar And e.Tool.OwningToolbar.SettingsResolved.FillEntireRowResolved = True Then
					Debug.WriteLine("Tool will adjust its width if there is unused space on its parent toolbar.")
				Else
					Debug.WriteLine("Tool will NOT adjust its width since it is not on a toolbar that has its FillEntireRow property set to true.")
				End If
			Else
				Debug.WriteLine("Tool will NOT automatically adjust its width when placed on toolbars with unused space available.")
			End If

			' InstanceProps.Visible
			If e.Tool.InstanceProps.Visible = DefaultableBoolean.True Then
				Debug.WriteLine("Tool has been marked as Visible.  Use the tool's VisibleResolved property to get its effective setting since the tool may not be visible for other reaosns.")
			Else
				Debug.WriteLine("Tool has NOT been marked as Visible.")
			End If
		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++;


			// Display all the properties of the tool's InstanceProps object.
			Debug.WriteLine("InstanceProps properties ------------------------------------------");


			if (e.Tool.InstanceProps != null)
			{
				Debug.WriteLine("Caption: '" + e.Tool.InstanceProps.Caption);
				Debug.WriteLine("DisplayStyle: '" + e.Tool.InstanceProps.DisplayStyle.ToString());
				Debug.WriteLine("MaxWidth: '" + e.Tool.InstanceProps.MaxWidth.ToString());
				Debug.WriteLine("MinWidth: '" + e.Tool.InstanceProps.MinWidth.ToString());
				Debug.WriteLine("Width: '" + e.Tool.InstanceProps.Width.ToString());

				// InstanceProps.IsFirstInGroup
				if (e.Tool.InstanceProps.IsFirstInGroup)
					Debug.WriteLine("Tool has been marked as first in group (i.e., preceded by a tool separator). This setting may have been customized by the end user.  Use the tool's IsFirstInGroupResolved property to get its effective setting.");
				else
					Debug.WriteLine("Tool has NOT been marked as first in group (i.e., preceded by a tool separator).  This setting may have been customized by the end user.  Use the tool's IsFirstInGroupResolved property to get its effective setting.");


				// InstanceProps.RecentlyUsed
				if (e.Tool.InstanceProps.RecentlyUsed == true)
					Debug.WriteLine("Tool will appear when menus are first displayed even if AlwaysShowFullMenus is set to false.  This setting may have been customized by the end user.  Use the tool's RecentlyUsedResolved property to get its effective setting.");
				else
					Debug.WriteLine("Tool will NOT appear when menus are first displayed if AlwaysShowFullMenus is set to false.  This setting may have been customized by the end user.  Use the tool's RecentlyUsedResolved property to get its effective setting.");


				// InstanceProps.Spring
				if (e.Tool.InstanceProps.Spring == DefaultableBoolean.True)
				{
					if (e.Tool.OwnerIsToolbar && 
						e.Tool.OwningToolbar.SettingsResolved.FillEntireRowResolved == true)
						Debug.WriteLine("Tool will adjust its width if there is unused space on its parent toolbar.");
					else
						Debug.WriteLine("Tool will NOT adjust its width since it is not on a toolbar that has its FillEntireRow property set to true.");
				}
				else
					Debug.WriteLine("Tool will NOT automatically adjust its width when placed on toolbars with unused space available.");
			

				// InstanceProps.Visible
				if (e.Tool.InstanceProps.Visible == DefaultableBoolean.True)
					Debug.WriteLine("Tool has been marked as Visible.  Use the tool's VisibleResolved property to get its effective setting since the tool may not be visible for other reaosns.");
				else
					Debug.WriteLine("Tool has NOT been marked as Visible.");
			}

			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