バージョン

ControlContainerTool クラス

Control を表示する、コントロール コンテナーを表します。
シンタックス
'宣言
 
Public Class ControlContainerTool 
   Inherits ToolBase
   Implements Infragistics.Shared.IKeyedSubObject, Infragistics.Shared.IKeyedSubObjectEx, Infragistics.Win.Notifications.INotificationBadgeProvider, Infragistics.Win.Notifications.INotificationBadgeSettingsOwner 
public class ControlContainerTool : ToolBase, Infragistics.Shared.IKeyedSubObject, Infragistics.Shared.IKeyedSubObjectEx, Infragistics.Win.Notifications.INotificationBadgeProvider, Infragistics.Win.Notifications.INotificationBadgeSettingsOwner  
解説

ツールに含まれているコントロールが破棄される場合には、Control プロパティは自動的に null に設定されます。

注: デフォルトで、UltraToolbarsManager に存在できるのは、特定の Key を持つ ControlContainerTool のインスタンスひとつだけです。同じ Key を持つ ControlContainerTools のインスタンスを複数表示できるようにするには、SharedProps.AllowMultipleInstances プロパティの 1 つを True に設定します。(Key を持つ 1 つの SharedProps でこのプロパティを設定すると、同じ Key を持つすべての ControlContainerTools の SharedProps 上のプロパティを変更します。これらは共通の SharedProps インスタンスを持っているためです)。

注: ControlContainerTool はメニューの Tools コレクション(PopupMenuTool および ApplicationMenuArea)に追加できません。

使用例
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();

		}
参照