StatusBarPanelStyle 枚举

定义

指定 StatusBarPanel 控件上的 StatusBar 对象是所有者描述的还是系统描述的。

C#
public enum StatusBarPanelStyle
继承
StatusBarPanelStyle

字段

名称 说明
OwnerDraw 2

StatusBarPanel 由所用者绘制。

Text 1

StatusBarPanel 以标准字体显示文本。

示例

下面的代码示例演示如何使用 Style 属性、 StatusBarDrawItemEventHandler 委托、 StatusBarDrawItemEventArgs 类、 StatusBarPanelStyle 枚举和 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

另请参阅