バージョン

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;

		}
参照