閱讀英文

共用方式為


StatusBarPanelStyle 列舉

定義

指定 StatusBarPanel 控制項上的 StatusBar 物件為主控描繪或系統描繪。

C#
public enum StatusBarPanelStyle
繼承
StatusBarPanelStyle

欄位

名稱 Description
OwnerDraw 2

StatusBarPanel 由擁有人描繪。

Text 1

StatusBarPanel 以標準字型顯示文字。

範例

下列程式碼範例示範如何使用 Style 屬性、 StatusBarDrawItemEventHandler 委派、類別、 StatusBarPanelStyleStatusBarDrawItemEventArgs 列舉和 StatusBarDrawItemEventArgs.Panel 屬性。 若要執行範例,請將下列程式碼貼到表單中。 InitializeStatusBarPanels在表單的建構函式或 Load 事件處理方法中呼叫 方法。

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);
}

備註

使用這個列舉的成員來設定 Style 類別的 StatusBarPanel 屬性值。 Style 屬性會決定顯示 的方式 StatusBarPanelStatusBarPanel 物件可以顯示簡單的文字或以擁有者繪製。 擁有者繪製 StatusBarPanel 的物件支援顯示影像或控制項上 StatusBar 其餘 StatusBarPanel 物件的不同字型,而系統繪製 StatusBarPanel 的物件則只用來顯示文字 (或文字,如果在) 的 StatusBarPanel 屬性中 Icon 指定圖示,則會顯示圖示。 若要在擁有者繪製上執行擁有者繪製 StatusBarPanel 作業,請使用 DrawItem 控制項的 StatusBar 事件。

適用於

產品 版本
.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

另請參閱