mcpField
S
syncfusion-winforms-status-bar

syncfusion-winforms-status-bar

github.com/syncfusionデザイン・UI276 回インストール1 週間前に更新
リポジトリ

syncfusion-winforms-status-bar について

Windows Forms アプリに Syncfusion StatusBarAdv を実装するためのガイドです。状態パネルのレイアウトやスタイルを設定したい開発者向けに、テーマ、背景、境界線、自動サイズ調整、子コントロールを扱います。

主な機能

  1. 01複数のステータス情報パネル
  2. 02グラデーション、パターン、単色背景
  3. 03Office 2016 と Metro のスタイル
  4. 04パネルの配置と間隔設定
  5. 05サイズと高さの自動調整
  6. 06WinForms 子コントロールの埋め込み

活用シーン

  1. 01アプリの状態や処理の進捗表示
  2. 02パネルへの日時表示
  3. 03カルチャやローカライズ情報の表示
  4. 04時間のかかる処理への進捗バー追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-status-bar

インストール後、Claude Code で/syncfusion-winforms-status-barを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
appearance-styling.md
borders-and-themes.md
events-and-behavior.md
getting-started.md
panels-and-layout.md

詳細

ステータスバーの実装(StatusBarAdv)

このスキルでは、Windows Forms アプリケーションに Syncfusion StatusBarAdv コントロールを実装する方法を説明します。StatusBarAdv は、高度な背景や外観を備えたパネルを表示し、Office2016 テーマに対応するステータスバーです。

このスキルを使用する場面

次のような場合に、このスキルを使用してください。

  • フォームの下部にアプリケーションのステータス情報を表示する
  • グラデーション背景やスタイル付きパネルを備えた、高度なステータスバーを実装する
  • ステータスパネルに日付/時刻、カルチャ情報、キーの状態を表示する
  • Office2016 または Metro テーマを使用して、洗練された外観のステータスバーを作成する
  • ステータスバーにカスタムコントロールやパネルを追加する
  • ステータス表示でのパネルの配置や間隔を設定する
  • ステータスバーに高度な境界線や背景のスタイルを適用する
  • ステータスバーのプロパティ変更イベントを処理する

コンポーネントの概要

StatusBarAdv は、標準の Windows Forms StatusBar を拡張した高度なステータスバーコントロールで、次の機能を備えています。

  • StatusBarAdvPanel コレクション:カスタムコンテンツやスタイルを指定して複数のパネルを追加できます
  • 高度な背景:BrushInfo を使用して、グラデーション、パターン、単色を指定できます
  • Office2016 テーマ:Colorful、White、Black、DarkGray のテーマに対応しています
  • 境界線のカスタマイズ:カスタムカラーを指定した 2D および 3D の境界線スタイル
  • パネルの配置:中央、近端、遠端、およびカスタムの配置オプション
  • 自動サイズ調整:パネルの高さを自動的に調整します
  • Metro スタイル:モダンなフラットデザインのオプション
  • サイズ変更グリップ:フォームのサイズ変更インジケーター
  • 子コントロール:任意の WinForms コントロールをステータスバーに追加できます

アセンブリ: Syncfusion.Tools.Windows
依存関係: Syncfusion.Shared.Base、Syncfusion.Tools.Windows
名前空間: Syncfusion.Windows.Forms.Tools

ドキュメントとナビゲーションガイド

はじめに

📄 参照: references/getting-started.md

参照するタイミング: StatusBarAdv を初めて実装する場合、アセンブリをセットアップする場合、または基本的なステータスバーを作成する場合。

  • アセンブリの要件とインストール
  • NuGet パッケージのインストール
  • ツールボックスを使用したデザイナーでのセットアップ
  • プログラムによる作成と初期化
  • StatusBarAdvPanel コントロールの追加
  • 基本的な設定とドッキング
  • よくあるセットアップの問題のトラブルシューティング
パネルとレイアウト

📄 参照: references/panels-and-layout.md

参照するタイミング: 複数のパネルを管理する場合、間隔を設定する場合、パネルの配置をカスタマイズする場合、またはコントロールを配置する場合。

  • StatusBarAdvPanel コレクションの管理
  • パネル間隔の設定
  • パネルサイズを指定する CustomLayoutBounds
  • 配置オプション(Center、Near、Far、ChildConstraints)
  • 水平方向の配置に使用する SetHAlign メソッド
  • パネルの配置とサイズ設定
  • StatusBarAdv への子コントロールの追加
  • レイアウトのカスタマイズパターン
外観とスタイル

📄 参照: references/appearance-styling.md

参照するタイミング: ステータスバーの外観をカスタマイズする場合、グラデーションを適用する場合、色を設定する場合、またはサイズ変更グリップを追加する場合。

  • BrushInfo を使用する BackgroundColor プロパティ
  • グラデーション背景(6 種類のグラデーションスタイル)
  • パターンスタイルと単色
  • GradientColors 配列の設定
  • MetroColor と UseMetroColorAsBorder
  • ForeColor のカスタマイズ
  • SizingGrip の表示
  • スタイル設定の完全な例
境界線とテーマ

📄 参照: references/borders-and-themes.md

参照するタイミング: 境界線を適用する場合、Office2016 テーマを使用する場合、Metro スタイルを有効にする場合、またはテーマに合わせた背景を設定する場合。

  • BorderStyle プロパティ(None、FixedSingle、Fixed3D)
  • Border3DStyle のオプション(10 種類)
  • 2D 境界線の設定(BorderColor、BorderSingle、BorderSides)
  • Office2016 テーマ(Colorful、White、Black、DarkGray)
  • Metro スタイルの適用
  • ThemesEnabled と IgnoreThemeBackground
  • テーマ設定の完全な例
イベントと動作

📄 参照: references/events-and-behavior.md

読むタイミング: 自動サイズ調整の実装、プロパティ変更イベントの処理、または境界線やグラデーションの変更への対応を行う場合です。

  • AutoSize と AutoSizeMode の設定
  • パネルの高さを調整する AutoHeightControls
  • GetPreferredSize メソッドと SetPreferredSize メソッド
  • 9 つのプロパティ変更イベント
  • BorderSidesChanged イベント、BorderColorChanged イベント
  • GradientBackgroundChanged イベント
  • ThemeChanged イベント
  • イベント処理のパターン

クイックスタートの例

パネルを使った基本的な StatusBarAdv

C#:

using Syncfusion.Windows.Forms.Tools;
using System.Drawing;
using System.Windows.Forms;

public partial class MainForm : Form
{
    private StatusBarAdv statusBarAdv1;
    private StatusBarAdvPanel culturePanel;
    private StatusBarAdvPanel datePanel;
    private StatusBarAdvPanel timePanel;
    
    public MainForm()
    {
        InitializeComponent();
        SetupStatusBar();
    }
    
    private void SetupStatusBar()
    {
        // Create StatusBarAdv
        statusBarAdv1 = new StatusBarAdv
        {
            Dock = DockStyle.Bottom,
            BackColor = Color.LightSteelBlue,
            BorderColor = Color.DarkSlateGray,
            BorderStyle = BorderStyle.FixedSingle,
            SizingGrip = true
        };
        
        // Create panels
        culturePanel = new StatusBarAdvPanel
        {
            PanelType = StatusBarAdvPanelType.CurrentCulture,
            Size = new Size(120, 27)
        };
        
        datePanel = new StatusBarAdvPanel
        {
            PanelType = StatusBarAdvPanelType.ShortDate,
            Size = new Size(100, 27)
        };
        
        timePanel = new StatusBarAdvPanel
        {
            PanelType = StatusBarAdvPanelType.ShortTime,
            Size = new Size(100, 27)
        };
        
        // Add panels to StatusBarAdv
        statusBarAdv1.Controls.Add(culturePanel);
        statusBarAdv1.Controls.Add(datePanel);
        statusBarAdv1.Controls.Add(timePanel);
        
        // Add to form
        this.Controls.Add(statusBarAdv1);
    }
}

VB.NET:

Imports Syncfusion.Windows.Forms.Tools
Imports System.Drawing
Imports System.Windows.Forms

Public Partial Class MainForm
    Inherits Form
    
    Private statusBarAdv1 As StatusBarAdv
    Private culturePanel As StatusBarAdvPanel
    Private datePanel As StatusBarAdvPanel
    Private timePanel As StatusBarAdvPanel
    
    Public Sub New()
        InitializeComponent()
        SetupStatusBar()
    End Sub
    
    Private Sub SetupStatusBar()
        ' Create StatusBarAdv
        statusBarAdv1 = New StatusBarAdv With {
            .Dock = DockStyle.Bottom,
            .BackColor = Color.LightSteelBlue,
            .BorderColor = Color.DarkSlateGray,
            .BorderStyle = BorderStyle.FixedSingle,
            .SizingGrip = True
        }
        
        ' Create panels
        culturePanel = New StatusBarAdvPanel With {
            .PanelType = StatusBarAdvPanelType.CurrentCulture,
            .Size = New Size(120, 27)
        }
        
        datePanel = New StatusBarAdvPanel With {
            .PanelType = StatusBarAdvPanelType.ShortDate,
            .Size = New Size(100, 27)
        }
        
        timePanel = New StatusBarAdvPanel With {
            .PanelType = StatusBarAdvPanelType.ShortTime,
            .Size = New Size(100, 27)
        }
        
        ' Add panels to StatusBarAdv
        statusBarAdv1.Controls.Add(culturePanel)
        statusBarAdv1.Controls.Add(datePanel)
        statusBarAdv1.Controls.Add(timePanel)
        
        ' Add to form
        Me.Controls.Add(statusBarAdv1)
    End Sub
End Class

一般的なパターン

1. Metro テーマのグラデーション背景

Metro スタイルを適用したモダンなグラデーション背景を設定します。

// Set gradient background (will be overridden if Metro style is applied)
statusBarAdv1.BackgroundColor = new BrushInfo(
    GradientStyle.Horizontal,
    Color.AliceBlue,
    Color.LightSteelBlue
);

// Apply Metro style (this overrides BackgroundColor)
statusBarAdv1.Style = StatusbarStyle.Metro;

// Set metro accent color
statusBarAdv1.MetroColor = ColorTranslator.FromHtml("#16a5dc");
statusBarAdv1.UseMetroColorAsBorder = true;

注: Style = StatusbarStyle.Metro を設定すると、カスタムの BackgroundColor グラデーションは無視されます。Metro スタイルを適用するには、代わりに MetroColor と UseMetroColorAsBorder を使用してください。

2. カスタムパネルの配置

ChildConstraints を使用して、カスタム位置にパネルを配置します。

// Enable custom alignment
statusBarAdv1.Alignment = FlowAlignment.ChildConstraints;

// Left-align first panel
statusBarAdv1.SetHAlign(panel1, HorzFlowAlign.Left);

// Right-align second panel
statusBarAdv1.SetHAlign(panel2, HorzFlowAlign.Right);

// Justify third panel to fill space
statusBarAdv1.SetHAlign(panel3, HorzFlowAlign.Justify);
3. 自動サイズ調整を使った Office2016 テーマ

Office2016 テーマを適用し、高さを自動調整します。

// Apply Office2016 Colorful theme
statusBarAdv1.Style = StatusbarStyle.Office2016Colorful;

// Enable auto-sizing
statusBarAdv1.AutoSize = true;
statusBarAdv1.AutoSizeMode = AutoSizeMode.GrowAndShrink;

// Auto-adjust panel heights
statusBarAdv1.AutoHeightControls = true;

主なプロパティ

StatusBarAdv のプロパティ
プロパティ型説明
BackgroundColorBrushInfo背景のグラデーション、パターン、または単色の設定
BorderStyleBorderStyle境界線の種類:None、FixedSingle、または Fixed3D
Border3DStyleBorder3DStyle3D 境界線のスタイル(10 種類:Raised、Sunken など)
BorderColorColor2D 境界線の色(BorderStyle.FixedSingle が必要)
BorderSingleButtonBorderStyle2D 境界線のスタイル:Solid、Dashed、Dotted など
BorderSidesBorder3DSide表示する境界線の辺:Left、Top、Right、Bottom、All
StyleStatusbarStyleテーマ:Default、Metro、Office2016Colorful、Office2016White、Office2016Black、Office2016DarkGray
PanelsCollectionStatusBarAdv 内の StatusBarAdvPanel コントロール
AlignmentFlowAlignmentパネルの配置:Center、Near、Far、ChildConstraints
SpacingSizeパネル間の間隔
CustomLayoutBoundsRectangleパネルのレイアウトに使用するカスタム矩形
SizingGripboolサイズ変更可能なフォームにサイズ変更グリップを表示するかどうか
AutoSizebool内容に合わせて自動的にサイズを変更するかどうか
AutoSizeModeAutoSizeModeサイズ変更モード:GrowAndShrink または GrowOnly
AutoHeightControlsboolStatusBarAdv の高さに合わせてパネルの高さを自動調整するかどうか
MetroColorColorMetro テーマのアクセントカラー
UseMetroColorAsBorderboolMetroColor を境界線の色として使用するかどうか
ThemesEnabledboolテーマに応じた背景描画を有効にするかどうか
IgnoreThemeBackgroundboolテーマの背景を無視し、代わりに BackColor を使用するかどうか
StatusBarAdvPanel のプロパティ
プロパティ型説明
PanelTypeStatusBarAdvPanelTypeパネルのコンテンツの種類です。値には、None(コンテンツなし)、Text(カスタムテキスト)、CurrentCulture(カルチャ情報)、ShortDate(日付)、ShortTime(時刻)、Owner(オーナー描画のコンテンツ)があります。
SizeSizeパネルの寸法
Textstringパネルに表示するカスタムテキスト
StatusBarAdv の拡張メソッド
メソッド説明
SetHAlign(StatusBarAdvPanel, HorzFlowAlign)特定のパネルの水平方向の配置(Left、Center、Right、Justify)を設定します。
GetHAlign(StatusBarAdvPanel)特定のパネルの現在の水平方向の配置を取得します。

一般的なユースケース

  1. アプリケーションの状態表示: 準備状態、接続状態、操作の進行状況を表示します
  2. 日付/時刻情報: 組み込みのパネルタイプを使用して、現在の日付と時刻を表示します
  3. カルチャとローカライズ: CurrentCulture パネルで現在のカルチャ情報を表示します
  4. 進行状況インジケーター: 時間のかかる操作に備えて、ステータスバーに ProgressBar コントロールを追加します
  5. ドキュメント情報: ファイル名、行/列位置、単語数を表示します
  6. ネットワーク状態: カスタムパネルで接続状態やサーバーの状態を表示します
  7. ユーザーセッション情報: ログイン中のユーザー名やセッションの詳細を表示します
  8. テーマを適用したアプリケーション: Office2016 または Metro テーマを適用して、UI に一貫性を持たせます

追加リソース

  • Syncfusion ドキュメント: StatusBarAdv 公式ドキュメント
  • パネルリファレンス: パネル固有のプロパティについては、StatusBarAdvPanel のドキュメントを参照してください
  • テーマのサポート: StatusBarAdv は、アプリケーション全体のテーマ設定に VisualStyleManager をサポートしています

次のステップ

StatusBarAdv の基本機能を実装した後は、次の手順に進んでください。

  1. 複数のパネルを追加する → こちらを参照してください: references/panels-and-layout.md
  2. 外観をカスタマイズする → こちらを参照してください: references/appearance-styling.md
  3. テーマを適用する → こちらを参照してください: references/borders-and-themes.md

コメント