バージョン

UltraStatusBar クラス

Windowsスタイルのステータスバーコントロールを表します。
シンタックス
'宣言
 
Public Class UltraStatusBar 
   Inherits Infragistics.Win.UltraControlBase
   Implements Infragistics.Win.AppStyling.ISupportAppStyling, Infragistics.Win.IImageListProvider, Infragistics.Win.IStatusBar, Infragistics.Win.IUIElementImageAndTextProvider, Infragistics.Win.IUIElementProvider, Infragistics.Win.IUltraControl, Infragistics.Win.IUltraControlElement, Infragistics.Win.Notifications.INotificationBadgeSettingsOwner, Infragistics.Win.Touch.ISupportTouchMetrics, Infragistics.Win.UIAutomation.IProvideUIAutomation, Infragistics.Win.UltraWinDock.IDockingArea 
public class UltraStatusBar : Infragistics.Win.UltraControlBase, Infragistics.Win.AppStyling.ISupportAppStyling, Infragistics.Win.IImageListProvider, Infragistics.Win.IStatusBar, Infragistics.Win.IUIElementImageAndTextProvider, Infragistics.Win.IUIElementProvider, Infragistics.Win.IUltraControl, Infragistics.Win.IUltraControlElement, Infragistics.Win.Notifications.INotificationBadgeSettingsOwner, Infragistics.Win.Touch.ISupportTouchMetrics, Infragistics.Win.UIAutomation.IProvideUIAutomation, Infragistics.Win.UltraWinDock.IDockingArea  
解説

UltraStatusBar は、UltraStatusPanel オブジェクトのコレクションを含む拡張された StatusBar コントロールです。UltraStatusPanelは13種類のパネルスタイルをサポートしています。完全なリストについては、UltraStatusPanelUltraStatusPanel.Style プロパティを参照してください。パネルは PanelsVisible プロパティを変更して非表示にしたり、UltraStatusPanel.Visible プロパティを介してすべてのパネルを非表示にできます。

パネルは 4 つの異なるサイズ モードをサポートします。UltraStatusPanel.SizingMode が Adjustable に設定された場合、パネルの右端をドラッグすることでランタイムまたはデザイン時に変更することもできます。ResizeStyleに基づき、パネルはドラッグ操作中またはマウスを放した後にサイズ変更されます。BeforeDragResize および AfterDragResize イベントは、ドラッグ操作の発生前後にそれぞれ発生します。パネルの同じ領域をダブルクリックすると、パネルの幅 (Style がオートサイズをサポートする場合) は UltraStatusPanel.AutoSizeWidth に設定されます。

パネルの枠は、BorderStylePanel プロパティを介してすべてのパネルまたはパネルの UltraStatusPanel.BorderStyle プロパティを介して個々のパネルで制御されます。パネル ドラッグ イベントと同様、前後のイベント (BeforeAutoSizePanel および AfterAutoSizePanel) は、パネルの幅が変更される前に発生します。

UltraStatusBar はサイズ グリップも表示します。デフォルトでは、サイズ グリップはステータス バーがフォームの下にドックされてフォームがサイズ変更される場合に限って表示されます。サイズ グリップの可視性は、SizeGripVisible プロパティを介して変更できます。コンテナーがサイズ操作を開始しようとすると、BeforeDragSizeGrip イベントが発生します。

使用例
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinStatusBar
Imports Infragistics.Win.UltraWinProgressBar

Private Sub InitializeStatusBar()

    With Me.ultraStatusBar1

        ' Note: Under windows XP if the 'SupportThemes' property
        ' is left is True (its default setting) then some of
        ' the explicit appearance, border style and button
        ' style properties are ignored.
        .SupportThemes = False

        ' Set the border style for the status bar control
        .BorderStyle = UIElementBorderStyle.InsetSoft

        ' Set the default border style for panels
        .BorderStylePanel = UIElementBorderStyle.InsetSoft

        ' Set the style for button type panels
        .ButtonStyle = UIElementButtonStyle.PopupSoftBorderless

        ' Set the # of pixels between panels 
        .InterPanelSpacing = 3

        ' Specify the margins inside the status bar control.			
        .Padding = New UIElementMargins(2, 1, 1, 2)

        ' Set some apperance setting for the control
        .Appearance.BackGradientStyle = GradientStyle.VerticalBump
        .Appearance.BackColor = Color.Blue
        .Appearance.BackColor2 = Color.Aqua

        ' Set the default appearance for panels
        .PanelAppearance.BackColor = Color.Transparent

        ' Set some additional properties on the control
        .PanelsVisible = True
        .ResizeStyle = ResizeStyle.Immediate
        .ScaledImageSize = New Size(8, 8)
        .ScaleImages = ScaleImage.OnlyWhenNeeded
        .ShowToolTips = True
        .SizeGripVisible = DefaultableBoolean.True
        .UseMnemonic = True
        .WrapText = True

    End With

    ' Add some panels to the collection
    Dim panel As UltraStatusPanel

    ' Add a simple text panel 
    panel = Me.ultraStatusBar1.Panels.Add("P1", PanelStyle.Text)
    panel.Text = "some text"

    ' Add an auto status text style panel.

    ' Note: At design time a 'StatusBarText' extender property
    ' is added to each control and menu on the form. 
    ' At runtime, when the mouse is over the control the text 
    ' specified for this property will display in the AutoStatusText
    ' panel.
    ' Also a panel of this type will automatically show the
    ' tooltip for tools on an UltraToolbarsManager toolbar or menu.

    panel = Me.ultraStatusBar1.Panels.Add("P2", PanelStyle.AutoStatusText)
    panel.SizingMode = PanelSizingMode.Spring

    ' You can also set the 'StatusBarText' extender property in 
    ' code by calling the 'SetStatusBarText' method as illustrated below.
    Me.ultraStatusBar1.SetStatusBarText(Me.button1, "Btn 1 action desc...")
    Me.ultraStatusBar1.SetStatusBarText(Me.button2, "Btn 2 action desc...")

    ' Add a character position style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P3", PanelStyle.CharacterPosition)
    panel.Control = Me.richTextBox1
    panel.CharacterPositionFormat = "Ln: [Line], Char: [Char]"
    panel.SizingMode = PanelSizingMode.Fixed
    panel.BorderStyle = UIElementBorderStyle.None
    panel.Width = 100

    ' Add a cursor position style panel
    panel = Me.ultraStatusBar1.Panels.Add("P4", PanelStyle.CursorPosition)
    ' You must specify either the form or a control so that
    ' when the mouse is moved over that control the panel
    ' will be automatically updated.
    panel.Control = Me.richTextBox1
    panel.CursorPositionFormat = "x: [X], y: [Y]"
    panel.SizingMode = PanelSizingMode.Automatic

    ' Add a button style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P5", PanelStyle.Button)
    panel.Text = "&End"
    panel.Appearance.TextHAlign = HAlign.Center
    panel.ToolTipText = "Scrolls to the end of the document"
    panel.Enabled = True

    ' Add a state button style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P6", PanelStyle.StateButton)
    panel.Text = "&Hex"
    panel.Checked = True

    ' Add a control container style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P7", PanelStyle.ControlContainer)
    panel.SizingMode = PanelSizingMode.Adjustable
    panel.MinWidth = 50
    panel.Control = Me.textBox1
    panel.Padding = New Size(3, 6)

    ' Add a date style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P8", PanelStyle.Date)
    panel.DateTimeFormat = "MMM-dd-yyyy"

    ' Add a time style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P9", PanelStyle.Time)
    panel.DateTimeFormat = "hh:mm:ss tt"

    ' Add a key state style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P10", PanelStyle.KeyState)
    panel.KeyStateInfo.DisplayStyle = KeyStateDisplayStyle.ChangeText
    panel.KeyStateInfo.Key = KeyState.InsertMode
    panel.KeyStateInfo.OffText = "Ovr"
    panel.KeyStateInfo.OnText = "Insrt"

    ' Add a marquee style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P11", PanelStyle.Marquee)
    panel.Text = "marquee string"
    panel.MarqueeInfo.Delay = 50
    panel.MarqueeInfo.MarqueeStyle = MarqueeStyle.Bouncing
    panel.MarqueeInfo.MarqueeDirection = Direction.LeftToRight
    panel.MarqueeInfo.MarqueeScrollAmount = 2
    panel.MarqueeInfo.Start()

    ' Add a progress style panel 
    panel = Me.ultraStatusBar1.Panels.Add("P12", PanelStyle.Progress)

    With panel.ProgressBarInfo

        .Appearance.ForeColor = Color.Red
        .FillAppearance.BackColor = Color.Blue
        .FillAppearance.ForeColor = Color.Yellow
        .Minimum = 25
        .Maximum = 85
        .Value = 50
        .ShowLabel = True
        .Style = ProgressBarStyle.SegmentedPartial
        .PercentFormat = "P2"
        .Label = _
                "Done: " + _
                UltraProgressBar.LABEL_FORMATTED + _
                "Remaining: " + _
                UltraProgressBar.LABEL_FORMATTED_REMAINING
    End With

    ' There is also an 'MDIList' style tool for use
    ' on MDI parent forms.

End Sub
using System.Diagnostics;
using Infragistics.Win;
using Infragistics.Win.UltraWinStatusBar;
using Infragistics.Win.UltraWinProgressBar;

private void InitializeStatusBar()
{

	// Note: Under windows XP if the 'SupportThemes' property
	// is left is True (its default setting) then some of
	// the explicit appearance, border style and button
	// style properties are ignored.
	this.ultraStatusBar1.SupportThemes = false;
	
	// Set the border style for the status bar control
	this.ultraStatusBar1.BorderStyle = UIElementBorderStyle.InsetSoft;
	
	// Set the default border style for panels
	this.ultraStatusBar1.BorderStylePanel = UIElementBorderStyle.InsetSoft;
	
	// Set the style for button type panels
	this.ultraStatusBar1.ButtonStyle = UIElementButtonStyle.PopupSoftBorderless;
	
	// Set the # of pixels between panels 
	this.ultraStatusBar1.InterPanelSpacing = 3;
	
	// Specify the margins inside the status bar control.			
	this.ultraStatusBar1.Padding = new UIElementMargins(2, 1,1,2);

	// Set some apperance setting for the control
	this.ultraStatusBar1.Appearance.BackGradientStyle = GradientStyle.VerticalBump;
	this.ultraStatusBar1.Appearance.BackColor = Color.Blue;
	this.ultraStatusBar1.Appearance.BackColor2 = Color.Aqua;

	// Set the default appearance for panels
	this.ultraStatusBar1.PanelAppearance.BackColor = Color.Transparent;

	// Set some additional properties on the control
	this.ultraStatusBar1.PanelsVisible = true;
	this.ultraStatusBar1.ResizeStyle = ResizeStyle.Immediate;
	this.ultraStatusBar1.ScaledImageSize = new Size(8,8);
	this.ultraStatusBar1.ScaleImages = ScaleImage.OnlyWhenNeeded;
	this.ultraStatusBar1.ShowToolTips = true;
	this.ultraStatusBar1.SizeGripVisible = DefaultableBoolean.True;
	this.ultraStatusBar1.UseMnemonic = true;
	this.ultraStatusBar1.WrapText = true;

	// Add some panels to the collection
	UltraStatusPanel panel;

	// Add a simple text panel 
	panel = this.ultraStatusBar1.Panels.Add("P1", PanelStyle.Text );
	panel.Text = "some text";

	// Add an auto status text style panel.

	// Note: At design time a 'StatusBarText' extender property
	// is added to each control and menu on the form. 
	// At runtime, when the mouse is over the control the text 
	// specified for this property will display in the AutoStatusText
	// panel.
	// Also a panel of this type will automatically show the
	// tooltip for tools on an UltraToolbarsManager toolbar or menu.
	
	panel = this.ultraStatusBar1.Panels.Add("P2", PanelStyle.AutoStatusText );
	panel.SizingMode = PanelSizingMode.Spring;
	
	// You can also set the 'StatusBarText' extender property in 
	// code by calling the 'SetStatusBarText' method as illustrated below.
	this.ultraStatusBar1.SetStatusBarText( this.button1, "Btn 1 action desc...");
	this.ultraStatusBar1.SetStatusBarText( this.button2, "Btn 2 action desc...");

	// Add a character position style panel 
	panel = this.ultraStatusBar1.Panels.Add("P3", PanelStyle.CharacterPosition );
	panel.Control = this.richTextBox1;
	panel.CharacterPositionFormat =  "Ln: [Line], Char: [Char]";
	panel.SizingMode = PanelSizingMode.Fixed;
	panel.BorderStyle = UIElementBorderStyle.None;
	panel.Width = 100;

	// Add a cursor position style panel
	panel = this.ultraStatusBar1.Panels.Add("P4", PanelStyle.CursorPosition );
	// You must specify either the form or a control so that
	// when the mouse is moved over that control the panel
	// will be automatically updated.
	panel.Control = this.richTextBox1;	
	panel.CursorPositionFormat =  "x: [X], y: [Y]";
	panel.SizingMode = PanelSizingMode.Automatic;

	// Add a button style panel 
	panel = this.ultraStatusBar1.Panels.Add("P5", PanelStyle.Button );
	panel.Text = "&End";
	panel.Appearance.TextHAlign = HAlign.Center;
	panel.ToolTipText = "Scrolls to the end of the document";
	panel.Enabled = true;

	// Add a state button style panel 
	panel = this.ultraStatusBar1.Panels.Add("P6", PanelStyle.StateButton );
	panel.Text = "&Hex";
	panel.Checked = true;

	// Add a control container style panel 
	panel = this.ultraStatusBar1.Panels.Add("P7", PanelStyle.ControlContainer );
	panel.SizingMode = PanelSizingMode.Adjustable;
	panel.MinWidth = 50;
	panel.Control = this.textBox1;
	panel.Padding = new Size(3,6);

	// Add a date style panel 
	panel = this.ultraStatusBar1.Panels.Add("P8", PanelStyle.Date );
	panel.DateTimeFormat = "MMM-dd-yyyy";

	// Add a time style panel 
	panel = this.ultraStatusBar1.Panels.Add("P9", PanelStyle.Time );
	panel.DateTimeFormat = "hh:mm:ss tt";

	// Add a key state style panel 
	panel = this.ultraStatusBar1.Panels.Add("P10", PanelStyle.KeyState );
	panel.KeyStateInfo.DisplayStyle = KeyStateDisplayStyle.ChangeText;
	panel.KeyStateInfo.Key = KeyState.InsertMode;
	panel.KeyStateInfo.OffText = "Ovr";
	panel.KeyStateInfo.OnText = "Insrt";

	// Add a marquee style panel 
	panel = this.ultraStatusBar1.Panels.Add("P11", PanelStyle.Marquee );
	panel.Text = "some marquee string";
	panel.MarqueeInfo.Delay = 50;
	panel.MarqueeInfo.MarqueeStyle = MarqueeStyle.Bouncing;
	panel.MarqueeInfo.MarqueeDirection = Direction.LeftToRight;
	panel.MarqueeInfo.MarqueeScrollAmount = 2;
	panel.MarqueeInfo.Start();

	// Add a progress style panel 
	panel = this.ultraStatusBar1.Panels.Add("P12", PanelStyle.Progress );
	ProgressBarInfo pbi = panel.ProgressBarInfo;
	pbi.Appearance.ForeColor = Color.Red;
	pbi.FillAppearance.BackColor = Color.Blue;
	pbi.FillAppearance.ForeColor = Color.Yellow;
	pbi.Minimum = 0;
	pbi.Maximum = 100;
	pbi.ShowLabel = true;
	pbi.Style = ProgressBarStyle.SegmentedPartial;
	pbi.PercentFormat = "P2";

	// Note: There are 10 different substitution string
	// constants defined by UltraProgressBar that are
	// prefixed by "LABEL_". The actual values are then
	// substituted for these constants to format the
	// label that is displayed in the panel.
	
	pbi.Label = "Done: " +
				UltraProgressBar.LABEL_FORMATTED +
				"Remaining: " + 
				UltraProgressBar.LABEL_FORMATTED_REMAINING );
	
	pbi.Value = 50;

	// There is also an 'MDIList' style tool for use
	// on MDI parent forms.

}
参照