バージョン

StateButtonTool クラス

状態ボタンがクリックされた時に変更する状態を維持する Checked 状態ボタンを表します。
シンタックス
'宣言
 
Public Class StateButtonTool 
   Inherits ButtonTool
   Implements Infragistics.Shared.IKeyedSubObject, Infragistics.Shared.IKeyedSubObjectEx, Infragistics.Win.Notifications.INotificationBadgeProvider, Infragistics.Win.Notifications.INotificationBadgeSettingsOwner 
public class StateButtonTool : ButtonTool, Infragistics.Shared.IKeyedSubObject, Infragistics.Shared.IKeyedSubObjectEx, Infragistics.Win.Notifications.INotificationBadgeProvider, Infragistics.Win.Notifications.INotificationBadgeSettingsOwner  
解説

メニュー上の StateButtonTool の表示は、MenuDisplayStyle を設定することによって制御でき、ツールバーまたはリボン グループ上の表示は、ToolbarDisplayStyle を設定することによって制御できます。

その状態を維持する単一のボタンとして機能することに加えて、StateButtonTool はその他の StateButtonTool インスタンスとともに、OptionSet または OptionSetKey を設定することによって、ラジオ ボタンとして機能することができます。StateButtonTool インスタンスのグループが同じ OptionSet に属している時には、常にチェックした (押した) 状態にすることができるのはひとつだけです。StateButtonTool をチェックすると、同じ OptionSet のその他すべての StateButtonTools のチェックが解除されます。また、OptionSet.AllowAllUp プロパティが True の場合、OptionSet の現在チェックされている StateButtonTool のチェックを解除できます。

StateButtonTool のインスタンスが Checked 状態を変更した時を通知するには、StateButtonTool の ToolClick イベントを処理します。同じ Key を持つすべての StateButtonTools のインスタンスがその Checked 状態を変更した時に通知を受けるには、UltraToolbarsManager.ToolClick イベントを処理して、イベント引数に渡されるツールの Key をチェックします。

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

		}
参照