Esta documentación está archivada y no tiene mantenimiento.

StatusBarPanelStyle (Enumeración)

Especifica si un objeto StatusBarPanel situado en un control StatusBar está dibujado por el propietario o por el sistema.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public enum StatusBarPanelStyle
public enum StatusBarPanelStyle
public enum StatusBarPanelStyle

 Nombre de miembroDescripción
OwnerDrawEl propietario ha dibujado el StatusBarPanel
TextStatusBarPanel muestra el texto con una fuente estándar. 

Utilice los miembros de esta enumeración para establecer el valor de la propiedad Style de la clase StatusBarPanel. La propiedad Style determina cómo se va a mostrar el StatusBarPanel. Los objetos StatusBarPanel pueden mostrar texto simple o los puede dibujar el propietario. Los objetos StatusBarPanel dibujados por el propietario permiten mostrar imágenes o una fuente diferente a los demás objetos StatusBarPanel situados en un control StatusBar, mientras que los objetos StatusBarPanel dibujados por el sistema se utilizan para mostrar sólo texto (o texto y un icono si se especifica en la propiedad Icon del StatusBarPanel). Para realizar las operaciones de dibujo por el propietario en un StatusBarPanel dibujado por el propietario, utilice el evento DrawItem del control StatusBar.

En el siguiente ejemplo de código se muestra cómo usar la propiedad Style, el delegado de StatusBarDrawItemEventHandler, la clase StatusBarDrawItemEventArgs, la enumeración StatusBarPanelStyle y la propiedad StatusBarDrawItemEventArgs.Panel. Para ejecutar el ejemplo, pegue el siguiente código en un formulario. Llame al método InitializeStatusBarPanels en el constructor del formulario o en el método de control de eventos Load.

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

}

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 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0
Mostrar: