Imports System Imports System.Windows.Forms Imports Infragistics.Win.UltraWinToolbars Namespace ToolProvider #Region "ToolProviderAsManager class (derived from UltraToolbarsManager)" ' This class demonstrates how to write a custom tool provider that derives from UltraToolbarsManager. ' See the notes above for more information on the options available when creating custom tool providers. ' ' The ToolProviderAsManager class performs 2 important functions: ' 1. Registering the custom tool types that it supports (see the private ToolFactory class's constructor) ' When registering a custom tool type, the tool provider: ' a. supplies a reference to an IToolProvider implementation ' b. supplies a Guid to identify the custom tool type. This Guid will be contained in the ' customizer's request to create an instance of the custom tool type. ' c. supplies a descriptive string used in the NewTool dialog to identify the custom tool ' d. supplies a string to be used as the basis for the custom tool instance's key and caption ' ' 2. Contains a private ToolFactory class that implements the IToolProvider interface which allows the ' Customizer to call back when it needs to create an instance of a registered custom tool. ' ' The ToolProviderAsManager also overrides the virtual property ShowBuiltInToolTypesInCustomizer to ' demonstrate how to prevent toolbars manager from displaying the built-in tools in the designtime ' customizer. Public Class ToolProviderAsManager Inherits UltraToolbarsManager #Region "Member Variables" ' A static reference to our private tool provider class. An instance of this class is ' created in our static constructor. Private Shared m_toolFactory As ToolProviderAsManager.ToolFactory = Nothing #End Region 'Member Variables #Region "Constructor" '/ <summary> '/ Static constructor used to create a single instance of our private tool provider class. '/ </summary> Shared Sub New() ToolProviderAsManager.m_toolFactory = New ToolProviderAsManager.ToolFactory() End Sub '/ <summary> '/ Standard constructor. '/ </summary> Public Sub New() End Sub #End Region 'Constructor #Region "Constants" Friend Shared ReadOnly CUSTOMBUTTON2_TOOLID As Guid = New Guid("66227453-9991-1019-ABC4-872BCDEF5413") Friend Shared ReadOnly CUSTOMCOMBOBOX2_TOOLID As Guid = New Guid("66227453-9991-1019-ABC4-872BCDEF5414") #End Region 'Constants #Region "Base Class Overrides" #Region "ShowBuiltInToolTypesInCustomizer" Protected Overrides ReadOnly Property ShowBuiltInToolTypesInCustomizer() As Boolean Get ' Comment-out the following line and uncomment the subsequent line to prevent the ' toolbars manager's built-in tooltypes from being displayed in the runtime customizer. Return True 'return false; End Get End Property #End Region 'ShowBuiltInToolTypesInCustomizer #End Region 'Base Class Overrides #Region "Private Class ToolFactory" '/ <summary> '/ A private class that implements IToolProvider. '/ </summary> Private Class ToolFactory Implements IToolProvider #Region "Constructor" Friend Sub New() Dim result As Boolean ' Register some custom tool types with UltraToolbarsManager. Try ' CustomButtonTool class. result = UltraToolbarsManager.RegisterCustomToolType(Me, ToolProviderAsManager.CUSTOMBUTTON2_TOOLID, "Custom Button", "CustomButtonTool") If result = False Then MessageBox.Show("Error registering CustomButtonTool class!") End If ' CustomComboBoxTool class. result = UltraToolbarsManager.RegisterCustomToolType(Me, ToolProviderAsManager.CUSTOMCOMBOBOX2_TOOLID, "Custom ComboBox", "CustomComboBoxTool") If result = False Then MessageBox.Show("Error registering CustomComboBoxTool class!") End If Catch MessageBox.Show("Error registering custom tool classes!") End Try End Sub #End Region 'Constructor #Region "CreateToolInstance" '/ <summary> '/ Creates and returns an instance of the tool identified by the specified GUID id. '/ </summary> '/ <param name="toolID">The Guid identifier specified for the tool when it was registered.</param> '/ <param name="key">The key assigned to the tool.</param> '/ <returns>A new instance of the specified tool.</returns> Function CreateToolInstance(ByVal toolID As Guid, ByVal key As String) As ToolBase Implements IToolProvider.CreateToolInstance If toolID.Equals(ToolProviderAsManager.CUSTOMBUTTON2_TOOLID) Then Return New CustomButtonTool(key) End If If toolID.Equals(ToolProviderAsManager.CUSTOMCOMBOBOX2_TOOLID) Then Return New CustomComboBoxTool(key) End If ' The tool ID is unknown to us so return null. Return Nothing End Function #End Region 'CreateToolInstance End Class #End Region 'Private Class ToolFactory End Class #End Region 'ToolProviderAsManager class (derived from UltraToolbarsManager) End Namespace
using System; using System.Windows.Forms; using Infragistics.Win.UltraWinToolbars; namespace ToolProvider { #region ToolProviderAsManager class (derived from UltraToolbarsManager) /// <summary> /// This class demonstrates how to write a custom tool provider that derives from UltraToolbarsManager. /// See the notes above for more information on the options available when creating custom tool providers. /// /// The ToolProviderAsManager class performs 2 important functions: /// 1. Registering the custom tool types that it supports (see the private ToolFactory class's constructor) /// When registering a custom tool type, the tool provider: /// a. supplies a reference to an IToolProvider implementation /// b. supplies a Guid to identify the custom tool type. This Guid will be contained in the /// customizer's request to create an instance of the custom tool type. /// c. supplies a descriptive string used in the NewTool dialog to identify the custom tool /// d. supplies a string to be used as the basis for the custom tool instance's key and caption /// /// 2. Contains a private ToolFactory class that implements the IToolProvider interface which allows the /// Customizer to call back when it needs to create an instance of a registered custom tool. /// /// The ToolProviderAsManager also overrides the virtual property ShowBuiltInToolTypesInCustomizer to /// demonstrate how to prevent toolbars manager from displaying the built-in tools in the designtime /// customizer. /// </summary> public class ToolProviderAsManager : UltraToolbarsManager { #region Member Variables // A static reference to our private tool provider class. An instance of this class is // created in our static constructor. private static ToolProviderAsManager.ToolFactory toolFactory = null; #endregion Member Variables #region Constructor /// <summary> /// Static constructor used to create a single instance of our private tool provider class. /// </summary> static ToolProviderAsManager() { ToolProviderAsManager.toolFactory = new ToolProviderAsManager.ToolFactory(); } /// <summary> /// Standard constructor. /// </summary> public ToolProviderAsManager() { } #endregion Constructor #region Constants internal static readonly Guid CUSTOMBUTTON2_TOOLID = new Guid("66227453-9991-1019-ABC4-872BCDEF5413"); internal static readonly Guid CUSTOMCOMBOBOX2_TOOLID = new Guid("66227453-9991-1019-ABC4-872BCDEF5414"); #endregion Constants #region Base Class Overrides #region ShowBuiltInToolTypesInCustomizer protected override bool ShowBuiltInToolTypesInCustomizer { get { // Comment-out the following line and uncomment the subsequent line to prevent the // toolbars manager's built-in tooltypes from being displayed in the runtime customizer. return true; //return false; } } #endregion ShowBuiltInToolTypesInCustomizer #endregion Base Class Overrides #region Private Class ToolFactory /// <summary> /// A private class that implements IToolProvider. /// </summary> private class ToolFactory : IToolProvider { #region Constructor internal ToolFactory() { bool result; // Register some custom tool types with UltraToolbarsManager. try { // CustomButtonTool class. result = UltraToolbarsManager.RegisterCustomToolType(this, ToolProviderAsManager.CUSTOMBUTTON2_TOOLID, "Custom Button", "CustomButtonTool"); if (result == false) MessageBox.Show("Error registering CustomButtonTool class!"); // CustomComboBoxTool class. result = UltraToolbarsManager.RegisterCustomToolType(this, ToolProviderAsManager.CUSTOMCOMBOBOX2_TOOLID, "Custom ComboBox", "CustomComboBoxTool"); if (result == false) MessageBox.Show("Error registering CustomComboBoxTool class!"); } catch { MessageBox.Show("Error registering custom tool classes!"); } } #endregion Constructor #region CreateToolInstance /// <summary> /// Creates and returns an instance of the tool identified by the specified GUID id. /// </summary> /// <param name="toolID">The Guid identifier specified for the tool when it was registered.</param> /// <param name="key">The key assigned to the tool.</param> /// <returns>A new instance of the specified tool.</returns> ToolBase IToolProvider.CreateToolInstance(Guid toolID, string key) { if (toolID == ToolProviderAsManager.CUSTOMBUTTON2_TOOLID) return new CustomButtonTool(key); if (toolID == ToolProviderAsManager.CUSTOMCOMBOBOX2_TOOLID) return new CustomComboBoxTool(key); // The tool ID is unknown to us so return null. return null; } #endregion CreateToolInstance } #endregion Private Class ToolFactory } #endregion ToolProviderAsManager class (derived from UltraToolbarsManager) }
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