2 つのツールが同じキーを持つ場合、同じ論理ツールと見なされ、共通の SharedProps インスタンスを持ちます。ただし、それぞれが固有の InstanceProps インスタンスを持ちます。
Imports System.Diagnostics Imports Infragistics.Win Imports Infragistics.Win.UltraWinToolbars Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click ' ---------------------------------------------------------------------------- ' ツールバーを作成し、UltraToolbarManager のツールバー コレクションに追加します Me.UltraToolbarsManager1.Toolbars.AddToolbar("FormattingOptions") ' ---------------------------------------------------------------------------- ' PopupColorPickerTool、FontListTool、PopupControlContainerTool、および ' ControlContainerTool を作成し、ツールバーに追加します Dim popupColorPickerTool As New PopupColorPickerTool("TextForeColor") Dim fontListTool As New FontListTool("TextFonts") Dim popupControlContainerTool As New PopupControlContainerTool("ShowMarkupText") Dim controlContainerTool As New ControlContainerTool("TextSize") ' メニューまたはツールバーに追加する前に、UltraToolbarManager のルート ツール コレクションに ' 常に新しいツールを追加します Me.UltraToolbarsManager1.Tools.AddRange(New ToolBase() {popupColorPickerTool, fontListTool, popupControlContainerTool, controlContainerTool}) ' ツールバーにツールを追加します Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools.AddTool("TextForeColor") Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools.AddTool("TextFonts") Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools.AddTool("ShowMarkupText") Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools.AddTool("TextSize") ' FontListTool のプロパティを設定します Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools("TextFonts").InstanceProps.IsFirstInGroup = True ' PopupColorPickerTool のプロパティを設定します popupColorPickerTool.SelectedColor = Color.Blue Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools("TextForeColor").InstanceProps.IsFirstInGroup = True ' PopupControlContainerTool のプロパティを設定します popupControlContainerTool.SharedProps.Caption = "Options" Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools("ShowMarkupText").InstanceProps.DisplayStyle = ToolDisplayStyle.TextOnlyAlways Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools("ShowMarkupText").InstanceProps.IsFirstInGroup = True ' ControlContainerTool のプロパティを設定します Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools("ShowMarkupText").InstanceProps.IsFirstInGroup = True ' ---------------------------------------------------------------------------- ' 標準 WinForms チェックボックス コントロールを作成し、フォームに追加しますこれは ' PopupControlContainer でホストされるツールです Dim checkBox As New CheckBox() checkBox.Text = "Show Markup Text" checkBox.Width = 150 ' PopupControlContainerTool で必要になるまで表示されないように ' チェックボックスの Visible プロパティを False に設定しますドロップダウンする前にツールで ' 自動的に表示します checkBox.Visible = False Me.Controls.Add(checkBox) ' チェックボックス コントロールを PopupControlContainerTool にアタッチします popupControlContainerTool.Control = checkBox ' チェックボックスの Click イベントを処理します AddHandler checkBox.Click, AddressOf Me.OnCheckboxClicked ' チェックボックス コントロールが 1 つのみのため、 ' PopupControlContainerTool の複数インスタンスを作成を許可しません popupControlContainerTool.SharedProps.AllowMultipleInstances = False ' ---------------------------------------------------------------------------- ' 標準 WinForms NumericUpDown コントロールを作成し、フォームに追加しますこれは ' ControlContainer でホストされるツールです Dim numericUpDown As New NumericUpDown() numericUpDown.Minimum = 8 numericUpDown.Maximum = 24 numericUpDown.Increment = 2 numericUpDown.Value = 8 numericUpDown.Width = 50 ' ControlContainerTool で必要になるまで表示されないように、 ' NumericUpDown の Visible プロパティを False に設定しますドロップダウンする前にツールで ' 自動的に表示します numericUpDown.Visible = False Me.Controls.Add(numericUpDown) ' NumericUpDown コントロールを ControlContainerTool にアタッチします controlContainerTool.Control = numericUpDown ' NumericUpDown コントロールが 1 つのみのため、 ' ControlContainerTool の複数インスタンスの作成を許可しません controlContainerTool.SharedProps.AllowMultipleInstances = False End Sub Private Sub OnCheckboxClicked(ByVal sender As Object, ByVal e As EventArgs) Debug.WriteLine("Checkbox clicked!") ' PopupControlContainerTool は自動的に閉じないため、手動的にドロップダウンを閉じます Dim popupControlContainerTool As PopupControlContainerTool = Me.UltraToolbarsManager1.Toolbars("FormattingOptions").Tools("ShowMarkupText") If Not popupControlContainerTool Is Nothing Then popupControlContainerTool.ClosePopup() End If End Sub
using System.Diagnostics; using Infragistics.Win; using Infragistics.Win.UltraWinToolbars; private void button22_Click(object sender, System.EventArgs e) { // ---------------------------------------------------------------------------- // ツールバーを作成し、UltraToolbarManager のツールバー コレクションに追加します this.ultraToolbarsManager1.Toolbars.AddToolbar("FormattingOptions"); // ---------------------------------------------------------------------------- // PopupColorPickerTool、FontListTool、PopupControlContainerTool、および // ControlContainerTool を作成し、ツールバーに追加します PopupColorPickerTool popupColorPickerTool = new PopupColorPickerTool("TextForeColor"); FontListTool fontListTool = new FontListTool("TextFonts"); PopupControlContainerTool popupControlContainerTool= new PopupControlContainerTool("ShowMarkupText"); ControlContainerTool controlContainerTool = new ControlContainerTool("TextSize"); // メニューまたはツールバーに追加する前に、常に新しいツールを // UltraToolbarManager のルート ツール コレクションに追加します this.ultraToolbarsManager1.Tools.AddRange(new ToolBase [] { popupColorPickerTool, fontListTool, popupControlContainerTool, controlContainerTool } ); // ツールバーにツールを追加します this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools.AddTool("TextForeColor"); this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools.AddTool("TextFonts"); this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools.AddTool("ShowMarkupText"); this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools.AddTool("TextSize"); // FontListTool のプロパティを設定します this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools["TextFonts"].InstanceProps.IsFirstInGroup = true; // PopupColorPickerTool のプロパティを設定します popupColorPickerTool.SelectedColor = Color.Blue; this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools["TextForeColor"].InstanceProps.IsFirstInGroup = true; // PopupControlContainerTool のプロパティを設定します popupControlContainerTool.SharedProps.Caption = "Options"; this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools["ShowMarkupText"].InstanceProps.DisplayStyle = ToolDisplayStyle.TextOnlyAlways; this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools["ShowMarkupText"].InstanceProps.IsFirstInGroup = true; // ControlContainerTool のプロパティを設定します this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools["ShowMarkupText"].InstanceProps.IsFirstInGroup = true; // ---------------------------------------------------------------------------- // 標準 WinForms チェックボックス コントロールを作成し、フォームに追加しますこれは // PopupControlContainer でホストされるツールです CheckBox checkBox = new CheckBox(); checkBox.Text = "Show Markup Text"; checkBox.Width = 150; // PopupControlContainerTool で必要になるまで表示されないように // チェックボックスの Visible プロパティを False に設定しますツールは、ドロップダウンする前に // 自動的に表示します checkBox.Visible = false; this.Controls.Add(checkBox); // チェックボックス コントロールを PopupControlContainerTool にアタッチします popupControlContainerTool.Control = checkBox; // チェックボックスの Click イベントを処理します checkBox.Click += new System.EventHandler(this.OnCheckboxClicked); // チェックボックス コントロールが 1 つのみのため、 // PopupControlContainerTool の複数インスタンスを作成しません popupControlContainerTool.SharedProps.AllowMultipleInstances = false; // ---------------------------------------------------------------------------- // 規格の WinForms NumericUpDown コントロールを作成し、フォームに追加しますこれは // ControlContainer でホストされるツールです NumericUpDown numericUpDown = new NumericUpDown(); numericUpDown.Minimum = 8; numericUpDown.Maximum = 24; numericUpDown.Increment = 2; numericUpDown.Value = 8; numericUpDown.Width = 50; // ControlContainerTool で必要な場合までに表示されないために、 // NumericUpDown の Visible プロパティを False に設定しますツールは、ドロップダウンする前に // 自動的に表示します numericUpDown.Visible = false; this.Controls.Add(numericUpDown); // NumericUpDown コントロールを ControlContainerTool にアタッチします controlContainerTool.Control = numericUpDown; // NumericUpDown コントロールが 1 つのみのため、 // ControlContainerTool の複数インスタンスの作成を許可しません controlContainerTool.SharedProps.AllowMultipleInstances = false; } private void OnCheckboxClicked(object sender, EventArgs e) { Debug.WriteLine("Checkbox clicked!"); // PopupControlContainerTool は自動的に閉じないため、手動的にドロップダウンを閉じます PopupControlContainerTool popupControlContainerTool = this.ultraToolbarsManager1.Toolbars["FormattingOptions"].Tools["ShowMarkupText"] as PopupControlContainerTool; if (popupControlContainerTool != null) popupControlContainerTool.ClosePopup(); }