次の方法で共有


StatusBarPanel.Style プロパティ

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

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

構文

'宣言
Public Property Style As StatusBarPanelStyle
'使用
Dim instance As StatusBarPanel
Dim value As StatusBarPanelStyle

value = instance.Style

instance.Style = value
public StatusBarPanelStyle Style { get; set; }
public:
property StatusBarPanelStyle Style {
    StatusBarPanelStyle get ();
    void set (StatusBarPanelStyle value);
}
/** @property */
public StatusBarPanelStyle get_Style ()

/** @property */
public void set_Style (StatusBarPanelStyle value)
public function get Style () : StatusBarPanelStyle

public function set Style (value : StatusBarPanelStyle)

プロパティ値

StatusBarPanelStyle 値の 1 つ。既定値は Text です。

例外

例外の種類 条件

InvalidEnumArgumentException

プロパティに代入された値が StatusBarPanelStyle 列挙体のメンバではありません。

解説

このプロパティを使用すると、StatusBarPanel にテキストが表示されるかどうか、またはパネルをオーナー描画 StatusBarPanel として管理するかどうかを示すことができます。いつ StatusBarPanel を描画する必要があるかを確認するには、StatusBar コントロールの DrawItem イベントのイベント ハンドラを作成します。DrawItem イベントのイベント ハンドラにパラメータとして渡された StatusBarDrawItemEventArgs を使用すると、どのパネルを描画する必要があるかを確認できます。StatusBarDrawItemEventArgs は、StatusBarPanel 上で描画タスクを実行するために使用する Graphics オブジェクトも提供します。

使用例

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

Private StatusBar1 As StatusBar

Private Sub InitializeStatusBarPanels()
    StatusBar1 = New StatusBar

    ' Create two StatusBarPanel objects.
    Dim panel1 As New StatusBarPanel
    Dim panel2 As 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 = DateTime.Today.ToShortDateString()
    panel2.Text = 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

    ' Use the AddHandler syntax to handle the DrawItem event
    ' for the owner-drawn panel.
    AddHandler StatusBar1.DrawItem, _
        New StatusBarDrawItemEventHandler( _
        AddressOf DrawCustomStatusBarPanel)
    Me.Controls.Add(StatusBar1)
End Sub

' Draw the panel.
Private Sub DrawCustomStatusBarPanel(ByVal sender As Object, _
    ByVal e As StatusBarDrawItemEventArgs)

    ' 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.
    Dim textFormat As 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)

End Sub
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);

}
StatusBar^ StatusBar1;
void InitializeStatusBarPanels()
{
   StatusBar1 = gcnew StatusBar;
   
   // Create two StatusBarPanel objects.
   StatusBarPanel^ panel1 = gcnew StatusBarPanel;
   StatusBarPanel^ panel2 = gcnew 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 += gcnew StatusBarDrawItemEventHandler( this, &Form1::DrawCustomStatusBarPanel );
   this->Controls->Add( StatusBar1 );
}


// Draw the panel.
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 = gcnew 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, RectangleF(e->Bounds.X,e->Bounds.Y,e->Bounds.Width,e->Bounds.Height), textFormat );
}
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.set_Style(StatusBarPanelStyle.OwnerDraw);
    // The panel2 object will be drawn by the operating system.
    panel2.set_Style(StatusBarPanelStyle.Text);
    // Set the text of both panels to the same date string.
    panel1.set_Text(System.DateTime.get_Today().ToShortDateString());
    panel2.set_Text(System.DateTime.get_Today().ToShortDateString());
    // Add both panels to the StatusBar.
    statusBar1.get_Panels().Add(panel1);
    statusBar1.get_Panels().Add(panel2);
    // Make panels visible by setting the ShowPanels 
    // property to True.
    statusBar1.set_ShowPanels(true);
    // Associate the event-handling method with the DrawItem event 
    // for the owner-drawn panel.
    statusBar1.add_DrawItem(new StatusBarDrawItemEventHandler(
        DrawCustomStatusBarPanel));

    this.get_Controls().Add(statusBar1);
} //InitializeStatusBarPanels

// Draw the panel.
private void DrawCustomStatusBarPanel(Object sender,
    StatusBarDrawItemEventArgs e)
{
    // Draw a blue background in the owner-drawn panel.
    e.get_Graphics().FillRectangle(Brushes.get_AliceBlue(), e.get_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.set_LineAlignment(StringAlignment.Center);
    // Align the text to the left.
    textFormat.set_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.get_Graphics().DrawString(e.get_Panel().get_Text(),
        statusBar1.get_Font(), Brushes.get_DarkBlue(),
        new RectangleF(e.get_Bounds().get_X(), e.get_Bounds().get_Y(),
        e.get_Bounds().get_Width(), e.get_Bounds().get_Height()), textFormat);
} //DrawCustomStatusBarPanel

プラットフォーム

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 2.0、1.1、1.0

参照

関連項目

StatusBarPanel クラス
StatusBarPanel メンバ
System.Windows.Forms 名前空間
StatusBarPanelStyle