StatusBarPanel.Style プロパティ

定義

ステータス バー パネルのスタイルを取得または設定します。

C#
public System.Windows.Forms.StatusBarPanelStyle Style { get; set; }

プロパティ値

StatusBarPanelStyle 値のいずれか 1 つ。 既定値は、Text です。

例外

プロパティに割り当てられている値は StatusBarPanelStyle 列挙体のメンバーではありません。

次のコード例では、 プロパティ、デリゲート、クラスStatusBarPanelStyleStatusBarDrawItemEventHandlerStatusBarDrawItemEventArgs列挙、および StatusBarDrawItemEventArgs.Panel プロパティをStyle使用する方法を示します。 この例を実行するには、次のコードをフォームに貼り付けます。 フォームの InitializeStatusBarPanels コンストラクターまたは Load event-method で メソッドを呼び出します。

C#
private StatusBar StatusBar1;

private void InitializeStatusBarPanels()
{
    StatusBar1 = new StatusBar();

    // Create two StatusBarPanel objects.
    StatusBarPanel panel1 = new StatusBarPanel();
    StatusBarPanel panel2 = new StatusBarPanel();

    // Set the style of the panels.  
    // panel1 will be owner-drawn.
    panel1.Style = StatusBarPanelStyle.OwnerDraw;

    // The panel2 object will be drawn by the operating system.
    panel2.Style = StatusBarPanelStyle.Text;

    // Set the text of both panels to the same date string.
    panel1.Text = System.DateTime.Today.ToShortDateString();
    panel2.Text = System.DateTime.Today.ToShortDateString();

    // Add both panels to the StatusBar.
    StatusBar1.Panels.Add(panel1);
    StatusBar1.Panels.Add(panel2);

    // Make panels visible by setting the ShowPanels 
    // property to True.
    StatusBar1.ShowPanels = true;

    // Associate the event-handling method with the DrawItem event 
    // for the owner-drawn panel.
    StatusBar1.DrawItem += 
        new StatusBarDrawItemEventHandler(DrawCustomStatusBarPanel);
        
    this.Controls.Add(StatusBar1);
}

// Draw the panel.
private void DrawCustomStatusBarPanel(object sender, 
    StatusBarDrawItemEventArgs e)
{

    // Draw a blue background in the owner-drawn panel.
    e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds);

    // Create a StringFormat object to align text in the panel.
    StringFormat textFormat = new StringFormat();

    // Center the text in the middle of the line.
    textFormat.LineAlignment = StringAlignment.Center;

    // Align the text to the left.
    textFormat.Alignment = StringAlignment.Far;

    // Draw the panel's text in dark blue using the Panel 
    // and Bounds properties of the StatusBarEventArgs object 
    // and the StringFormat object.
    e.Graphics.DrawString(e.Panel.Text, StatusBar1.Font, 
        Brushes.DarkBlue, new RectangleF(e.Bounds.X, 
        e.Bounds.Y, e.Bounds.Width, e.Bounds.Height), textFormat);
}

注釈

このプロパティを使用すると、 がテキストを StatusBarPanel 表示するかどうか、またはパネルが所有者描画 StatusBarPanelとして管理されているかどうかを示すことができます。 を描画する必要があるタイミングStatusBarPanelを判断するには、コントロールの イベントのイベント ハンドラーをDrawItemStatusBar作成します。 イベントのStatusBarDrawItemEventArgsDrawItemイベント ハンドラーにパラメーターとして渡される を使用すると、描画する必要があるパネルを決定できます。 には StatusBarDrawItemEventArgs 、 で Graphics 描画タスクを実行するために使用できる オブジェクトも用意されています StatusBarPanel

適用対象

製品 バージョン
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 10

こちらもご覧ください