syncfusion-winforms-statusbaradv-panel について
Windows Forms 開発者向けの、Syncfusion StatusBarAdvPanel の実装ガイドです。キー状態や日時の定型表示、マーキーアニメーションなど、パネルの内容と外観の設定を扱います。
主な機能
- 01カスタムテキスト、キー状態、日時の表示
- 02グラデーション、パターン、アイコン、枠線の設定
- 03スクロール、スライド、交互アニメーションの設定
- 04コンテンツとフローレイアウトの配置
- 05パネルの自動サイズ調整とプロパティイベント処理
活用シーン
- 01ステータスバーに NumLock や CapsLock を表示
- 02日付、時刻、現在のカルチャを表示
- 03告知をスクロールテキストで表示
- 04アプリのテーマに合わせたパネルのスタイル設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-statusbaradv-panelインストール後、Claude Code で/syncfusion-winforms-statusbaradv-panelを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/alignment-and-borders.mdappearance-styling.mdgetting-started.mdpanel-types-and-behavior.mdtext-and-marquee.mdthemes-tooltips-events.md詳細
ステータスバーのパネルを実装する(StatusBarAdvPanel)
このスキルでは、Windows Forms アプリケーションで Syncfusion StatusBarAdvPanel コントロールを実装する方法を説明します。StatusBarAdvPanel はパネルを継承したクラスで、外観を強化したステータスバー情報を表示し、マーキーアニメーションにも対応しています。StatusBarAdv コントロール内でも、フォーム上に単独でも使用できます。
このスキルを使用する場面
次のような場合に、このスキルを使用します。
- カスタムコンテンツやスタイルを設定した個別のステータスバーパネルを作成する
- 主要な状態インジケーター(NumLock、CapsLock、ScrollLock、Insert キー)を表示する
- さまざまな形式(短い日付、長い日付、短い時刻、長い時刻)で日付と時刻の情報を表示する
- ステータスバーにカルチャ情報(CurrentCulture)を表示する
- スクロール、スライド、交互表示のエフェクトでマーキーテキストのアニメーションを実装する
- ステータスバーパネルにグラデーション背景やパターンを適用する
- StatusBarAdv 内やフローレイアウトでのパネルの配置を設定する
- 個々のパネルにカスタム境界線(2D または 3D)を追加する
- 動的なパネル更新のためのプロパティ変更イベントを処理する
- アプリケーションのデザインに合わせたテーマ付きステータスバーパネルを作成する
コンポーネントの概要
StatusBarAdvPanel は、次の機能を備えたステータスバー用の多目的パネルコントロールです。
- パネルの種類:キーの状態、日付と時刻、カルチャ、またはカスタムテキスト用の定義済みタイプ
- マーキーアニメーション:速度、方向、スタイルをカスタマイズできるスクロールテキスト
- 強化された背景:BrushInfo を使用したグラデーション、パターン、単色のオプション
- アイコンのサポート:パネルのテキストと並べてアイコンを表示
- 配置オプション:コンテンツの配置(左、右、中央)とフロー配置(両端揃えを含む)
- 境界線のカスタマイズ:色をカスタマイズできる 2D および 3D の境界線スタイル
- 自動サイズ調整:コンテンツに応じて自動的にサイズを変更(SizeToContent)
- テーマのサポート:ThemesEnabled および IgnoreThemeBackground プロパティ
- ツールチップのサポート:追加情報を提供するツールチップを追加
- 18 種類のプロパティイベント:プロパティ変更を包括的に処理するイベント
アセンブリ: Syncfusion.Tools.Windows
依存関係: Syncfusion.Shared.Base、Syncfusion.Tools.Windows
名前空間: Syncfusion.Windows.Forms.Tools
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
参照するタイミング: StatusBarAdvPanel を初めて実装するとき、アセンブリを設定するとき、または基本的なパネルを作成するとき。
- アセンブリの要件とインストール
- ドラッグアンドドロップによるデザイナーでのセットアップ
- プログラムによる作成と初期化
- StatusBarAdv またはフォームへのパネルの追加
- 基本的な設定(Location、Size、BackgroundColor)
- PanelType と BorderColor の設定
- よくあるセットアップの問題のトラブルシューティング
パネルの種類と動作
📄 参照: references/panel-types-and-behavior.md
参照するタイミング: パネルの種類を設定するとき、キーの状態や日付と時刻を表示するとき、またはパネルのサイズをカスタマイズするとき。
- PanelType プロパティのオプション(キーの状態、日付と時刻、カルチャ、カスタム)
- キーの状態インジケーター(NumLock、CapsLock、ScrollLock、InsertKey)
- 日付と時刻の形式(ShortDate、LongDate、ShortTime、LongTime)
- Text プロパティを使用したカスタムテキストパネル
- キーの状態テキストを取得する GetText() メソッド
- パネルのサイズを自動調整する SizeToContent
- PreferredSize プロパティの設定
外観とスタイル
📄 参照: references/appearance-styling.md
参照するタイミング: パネルの外観をカスタマイズするとき、グラデーションを適用するとき、背景色を設定するとき、またはアイコンを追加するとき。
- BrushInfo を使用した BackgroundColor プロパティ
- グラデーションスタイル(6 種類:ForwardDiagonal、BackwardDiagonal、Horizontal、Vertical、PathRectangle、PathEllipse)
- パターンスタイル(Cross、DiagonalCross、DottedGrid、LargeGrid、Wave)
- GradientBackground と GradientColors の設定
- BackColor と ForeColor のカスタマイズ
- パネルアイコン用の Icon プロパティ
- スタイル設定の完全な例
テキストとマーキーアニメーション
📄 参照: references/text-and-marquee.md
参照するタイミング: マーキーテキストアニメーションを実装する場合、スクロール効果を設定する場合、またはアニメーションの動作を制御する場合。
- Text プロパティの設定
- アニメーションを有効にする IsMarquee プロパティ
- タイミングを制御する AnimationDelay
- AnimationDirection(Left/Right)
- AnimationSpeed のカスタマイズ
- AnimationStyle(Scroll、Slide、Alternate)
- StartAnimation() および StopAnimation() メソッド
- マーキーの完全な使用例
配置と境界線
📄 参照: references/alignment-and-borders.md
参照するタイミング: パネルの配置を設定する場合、境界線をカスタマイズする場合、またはフローレイアウトの位置を設定する場合。
- Alignment プロパティ(Left、Right、Center)
- フローレイアウト用の HAlign プロパティ(Left、Right、Center、Justify)
- BorderStyle プロパティ(None、FixedSingle、Fixed3D)
- Border3DStyle のオプション(10 種類のスタイル)
- 2D 境界線の BorderColor
- BorderSingle のスタイル(Solid、Dashed、Dotted、Inset、Outset、None)
- BorderSides の設定(Left、Top、Right、Bottom、Middle、All)
- 2D および 3D 境界線の使用例
テーマ、ツールチップ、イベント
📄 参照: references/themes-tooltips-events.md
参照するタイミング: テーマを実装する場合、ツールチップを追加する場合、またはプロパティ変更イベントを処理する場合。
- ThemesEnabled プロパティ
- IgnoreThemeBackground プロパティ
- ToolTip プロパティの設定
- 18 種類のプロパティ変更イベント
- イベントのサブスクライブ例
- イベント処理のパターン
- イベント監視の完全な使用例
クイックスタートの例
グラデーション背景を使用した基本的な StatusBarAdvPanel
C#:
using Syncfusion.Windows.Forms.Tools;
using Syncfusion.Drawing;
using System.Drawing;
using System.Windows.Forms;
public partial class MainForm : Form
{
private StatusBarAdvPanel statusBarAdvPanel1;
public MainForm()
{
InitializeComponent();
SetupStatusBarPanel();
}
private void SetupStatusBarPanel()
{
// Create StatusBarAdvPanel
statusBarAdvPanel1 = new StatusBarAdvPanel
{
// Set panel location and size
Location = new Point(160, 184),
Size = new Size(216, 48),
// Configure panel type to show long date
PanelType = StatusBarAdvPanelType.LongDate,
// Apply gradient background
BackgroundColor = new BrushInfo(
GradientStyle.BackwardDiagonal,
Color.PaleVioletRed,
Color.PeachPuff
),
// Set border and alignment
BorderColor = Color.Black,
HAlign = HorzFlowAlign.Left
};
// Add to form
this.Controls.Add(statusBarAdvPanel1);
}
}
VB.NET:
Imports Syncfusion.Windows.Forms.Tools
Imports Syncfusion.Drawing
Imports System.Drawing
Imports System.Windows.Forms
Public Partial Class MainForm
Inherits Form
Private statusBarAdvPanel1 As StatusBarAdvPanel
Public Sub New()
InitializeComponent()
SetupStatusBarPanel()
End Sub
Private Sub SetupStatusBarPanel()
' Create StatusBarAdvPanel
statusBarAdvPanel1 = New StatusBarAdvPanel With {
.Location = New Point(160, 184),
.Size = New Size(216, 48),
.PanelType = StatusBarAdvPanelType.LongDate,
.BackgroundColor = New BrushInfo(
GradientStyle.BackwardDiagonal,
Color.PaleVioletRed,
Color.PeachPuff
),
.BorderColor = Color.Black,
.HAlign = HorzFlowAlign.Left
}
' Add to form
Me.Controls.Add(statusBarAdvPanel1)
End Sub
End Class
よくあるパターン
パターン 1:スクロールテキストを表示するマーキーパネル
マーキースクロールテキストを表示するアニメーションステータスパネルを作成します。
// Configure marquee panel
var marqueePanel = new StatusBarAdvPanel
{
Text = "Welcome to our application! Latest updates available...",
IsMarquee = true,
AnimationStyle = MarqueeStyle.Scroll,
AnimationDirection = MarqueeDirection.Left,
AnimationSpeed = 5,
AnimationDelay = 10,
Size = new Size(300, 30),
BackColor = Color.LightBlue
};
// Start animation on form load
marqueePanel.StartAnimation();
// Stop animation when needed
// marqueePanel.StopAnimation();
パターン 2:キー状態インジケーターパネル
キーボードのキー状態を表示するパネルを作成します。
// NumLock indicator
var numLockPanel = new StatusBarAdvPanel
{
PanelType = StatusBarAdvPanelType.NumLockState,
Size = new Size(80, 24),
HAlign = HorzFlowAlign.Right,
BackgroundColor = new BrushInfo(Color.WhiteSmoke)
};
// CapsLock indicator
var capsLockPanel = new StatusBarAdvPanel
{
PanelType = StatusBarAdvPanelType.CapsLockState,
Size = new Size(80, 24),
HAlign = HorzFlowAlign.Right,
BackgroundColor = new BrushInfo(Color.WhiteSmoke)
};
// InsertKey indicator
var insertKeyPanel = new StatusBarAdvPanel
{
PanelType = StatusBarAdvPanelType.InsertKeyState,
Size = new Size(80, 24),
HAlign = HorzFlowAlign.Right,
BackgroundColor = new BrushInfo(Color.WhiteSmoke)
};
パターン 3:3D 効果を備えたカスタム境界線
パネルにカスタム 3D 境界線を適用します。
// Create panel with 3D raised border
var borderedPanel = new StatusBarAdvPanel
{
Text = "Status: Ready",
Size = new Size(150, 30),
BorderStyle = BorderStyle.Fixed3D,
Border3DStyle = Border3DStyle.RaisedInner,
BorderSides = Border3DSide.All,
Alignment = HorizontalAlignment.Center,
BackgroundColor = new BrushInfo(
GradientStyle.Horizontal,
Color.LavenderBlush,
Color.RosyBrown
)
};
主なプロパティ
StatusBarAdvPanel のプロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
| PanelType | StatusBarAdvPanelType | パネルの種類(Custom、NumLockState、CapsLockState、ScrollLockState、InsertKeyState、ShortDate、LongDate、ShortTime、LongTime、CurrentCulture) |
| Text | string | パネルに表示されるテキスト(Custom パネルタイプの場合) |
| BackgroundColor | BrushInfo | 背景のグラデーション、パターン、または単色 |
| Icon | Icon | パネルに表示されるアイコン |
| Alignment | HorizontalAlignment | テキストとアイコンの配置(Left、Right、Center) |
| HAlign | HorzFlowAlign | フローレイアウトでの水平配置(Left、Right、Center、Justify) |
| IsMarquee | bool | マーキー形式のテキストアニメーションを有効にします |
| AnimationStyle | MarqueeStyle | アニメーションスタイル(Scroll、Slide、Alternate) |
| AnimationDirection | MarqueeDirection | アニメーションの方向(Left、Right) |
| AnimationSpeed | int | マーキーアニメーションの速度 |
| AnimationDelay | int | アニメーション開始までの遅延 |
| BorderStyle | BorderStyle | 境界線のスタイル(None、FixedSingle、Fixed3D) |
| Border3DStyle | Border3DStyle | 3D 境界線のスタイル(10 種類のオプション) |
| BorderColor | Color | 2D 境界線の色 |
| BorderSingle | ButtonBorderStyle | 2D 境界線のスタイル(Solid、Dashed、Dotted など) |
| BorderSides | Border3DSide | 表示する境界線の辺(All、Top、Bottom、Left、Right、Middle) |
| SizeToContent | bool | コンテンツに合わせてパネルを自動サイズ変更します |
| PreferredSize | Size | フローレイアウトでの推奨サイズ |
| ThemesEnabled | bool | テーマに沿った外観を有効にします |
| IgnoreThemeBackground | bool | テーマの背景色を無視します |
| ToolTip | string | パネルのツールチップテキスト |
一般的な使用例
- アプリケーションの状態表示:カスタムテキストとスタイルで、現在のアプリケーションの状態を表示します
- キーボードの状態インジケーター:NumLock、CapsLock、ScrollLock、Insert キーの状態を表示します
- 日付と時刻の情報:さまざまな形式で現在の日付と時刻を表示します
- カルチャ情報:現在のカルチャ設定を表示します
- マーキー形式のお知らせ:お知らせや更新情報をスクロール表示します
- 進行状況インジケーター:処理状況を示すテキストを含むカスタムパネルを表示します
- ドキュメント情報:ドキュメント関連の情報(行番号、位置など)を表示します
- テーマに合わせたステータスパネル:パネルのスタイルを統一し、アプリケーションのテーマに合わせます
その他のリソース
StatusBarAdvPanel の詳細については、以下をご覧ください。
- StatusBarAdv コントロール内で使用し、ステータスバーを拡張します
- 複数の種類のパネルを組み合わせて、包括的なステータス表示を実現します
- イベントを活用し、アプリケーションの状態に応じてパネルを動的に更新します
- すべてのパネルに一貫したテーマを適用し、プロフェッショナルな外観にします