2 つのツールが同じキーを持つ場合、同じ論理ツールと見なされ、共通の SharedProps インスタンスを持ちます。ただし、それぞれが固有の InstanceProps インスタンスを持ちます。
Imports System.Diagnostics Imports Infragistics.Win Imports Infragistics.Win.UltraWinToolbars Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' ---------------------------------------------------------------------------- ' 新しい StateButton ツールを作成します Dim stateButtonAlignLeft As New StateButtonTool("AlignLeft") Dim stateButtonAlignCenter As New StateButtonTool("AlignCenter") Dim stateButtonAlignRight As New StateButtonTool("AlignRight") ' メニューまたはツールバーに追加する前に、常に新しいツールを ' UltraToolbarManager のルート ツール コレクションに追加します Me.UltraToolbarsManager1.Tools.AddRange(New ToolBase() {stateButtonAlignLeft, stateButtonAlignCenter, stateButtonAlignRight}) ' ボタンの画像を指定します stateButtonAlignLeft.SharedProps.AppearancesSmall.Appearance.Image = Bitmap.FromHicon(SystemIcons.Information.Handle) stateButtonAlignCenter.SharedProps.AppearancesSmall.Appearance.Image = Bitmap.FromHicon(SystemIcons.Exclamation.Handle) stateButtonAlignRight.SharedProps.AppearancesSmall.Appearance.Image = Bitmap.FromHicon(SystemIcons.WinLogo.Handle) ' ボタンで画像を表示するために、メニューの表示スタイルを設定します stateButtonAlignLeft.MenuDisplayStyle = StateButtonMenuDisplayStyle.DisplayToolImage stateButtonAlignCenter.MenuDisplayStyle = StateButtonMenuDisplayStyle.DisplayToolImage stateButtonAlignRight.MenuDisplayStyle = StateButtonMenuDisplayStyle.DisplayToolImage ' ---------------------------------------------------------------------------- ' 3 つの状態ボタンの状態 (チェックまたはチェック解除) を ' 構成する OptionSet オブジェクトを作成します Dim index As Integer = Me.UltraToolbarsManager1.OptionSets.Add(False, "MyAlignOptionSet") ' オプション セットに 3 つの状態ボタンを追加します Me.UltraToolbarsManager1.OptionSets(index).Tools.AddToolRange(New String() {"AlignLeft", "AlignCenter", "AlignRight"}) ' ---------------------------------------------------------------------------- ' 'AlignLeft' ボタンをチェックします stateButtonAlignLeft.Checked = True ' ---------------------------------------------------------------------------- ' ツールバーを作成し、状態ボタンをツールバーに追加します Me.UltraToolbarsManager1.Toolbars.AddToolbar("MyAlignmentToolbar") ' ツールバーをフォームの下にドッキングします Me.UltraToolbarsManager1.Toolbars("MyAlignmentToolbar").DockedPosition = DockedPosition.Bottom ' ツールバーに状態ボタンを追加します Me.UltraToolbarsManager1.Toolbars("MyAlignmentToolbar").Tools.AddToolRange(New String() {"AlignLeft", "AlignCenter", "AlignRight"}) ' 最初のボタンの前にセパレーターを配置するには、最初のボタンの IsFirstInGroup プロパティを設定します Me.UltraToolbarsManager1.Toolbars("MyAlignmentToolbar").Tools("AlignLeft").InstanceProps.IsFirstInGroup = True End Sub
using System.Diagnostics; using Infragistics.Win; using Infragistics.Win.UltraWinToolbars; private void button2_Click(object sender, System.EventArgs e) { // ---------------------------------------------------------------------------- // 新しい StateButton ツールを作成します StateButtonTool stateButtonAlignLeft = new StateButtonTool("AlignLeft"); StateButtonTool stateButtonAlignCenter = new StateButtonTool("AlignCenter"); StateButtonTool stateButtonAlignRight = new StateButtonTool("AlignRight"); // メニューまたはツールバーに追加する前に、常に新しいツールを // UltraToolbarManager のルート ツール コレクションに追加します this.ultraToolbarsManager1.Tools.AddRange(new ToolBase [] {stateButtonAlignLeft, stateButtonAlignCenter, stateButtonAlignRight} ); // ボタンの画像を指定します stateButtonAlignLeft.SharedProps.AppearancesSmall.Appearance.Image = Bitmap.FromHicon(SystemIcons.Information.Handle); stateButtonAlignCenter.SharedProps.AppearancesSmall.Appearance.Image = Bitmap.FromHicon(SystemIcons.Exclamation.Handle); stateButtonAlignRight.SharedProps.AppearancesSmall.Appearance.Image = Bitmap.FromHicon(SystemIcons.WinLogo.Handle); // ボタンで画像を表示するために、メニューの表示スタイルを設定します stateButtonAlignLeft.MenuDisplayStyle = StateButtonMenuDisplayStyle.DisplayToolImage; stateButtonAlignCenter.MenuDisplayStyle = StateButtonMenuDisplayStyle.DisplayToolImage; stateButtonAlignRight.MenuDisplayStyle = StateButtonMenuDisplayStyle.DisplayToolImage; // ---------------------------------------------------------------------------- // 3 つの状態ボタンの状態 (チェックまたはチェック解除) を // 構成する OptionSet オブジェクトを作成します int index = this.ultraToolbarsManager1.OptionSets.Add(false, "MyAlignOptionSet"); // オプション セットに 3 つの状態ボタンを追加します this.ultraToolbarsManager1.OptionSets[index].Tools.AddToolRange( new string [] {"AlignLeft", "AlignCenter", "AlignRight"} ); // ---------------------------------------------------------------------------- // 'AlignLeft' ボタンをチェックします stateButtonAlignLeft.Checked = true; // ---------------------------------------------------------------------------- // ツールバーを作成し、状態ボタンをツールバーに追加します this.ultraToolbarsManager1.Toolbars.AddToolbar("MyAlignmentToolbar"); // ツールバーをフォームの下にドッキングします this.ultraToolbarsManager1.Toolbars["MyAlignmentToolbar"].DockedPosition = DockedPosition.Bottom; // ツールバーに状態ボタンを追加します this.ultraToolbarsManager1.Toolbars["MyAlignmentToolbar"].Tools.AddToolRange(new string [] {"AlignLeft", "AlignCenter", "AlignRight"}); // 最初のボタンの前にセパレーターを配置するには、最初のボタンの IsFirstInGroup プロパティを設定します this.ultraToolbarsManager1.Toolbars["MyAlignmentToolbar"].Tools["AlignLeft"].InstanceProps.IsFirstInGroup = true; }