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

StatusBar.DrawItem (Evento)

Se produce cuando cambia la apariencia de una barra de estado dibujada por el usuario.

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

public event StatusBarDrawItemEventHandler DrawItem
/** @event */
public void add_DrawItem (StatusBarDrawItemEventHandler value)

/** @event */
public void remove_DrawItem (StatusBarDrawItemEventHandler value)

En JScript, se pueden controlar los eventos que define una clase, pero no se pueden definir unos propios.
No aplicable.

Este evento se puede utilizar para realizar operaciones de dibujo en un control StatusBar dibujado por el usuario. Por ejemplo, si muestra un objeto StatusBarPanel dibujado por el usuario que contiene una barra de progreso, puede utilizar este evento para dibujar la barra de progreso en el panel. Los datos que se proporcionan al evento mediante el objeto StatusBarDrawItemEventArgs pasado como un parámetro al controlador de eventos permiten determinar el panel que es necesario dibujar y el objeto Graphics que se utilizará para dibujar el panel. Este evento sólo se provoca cuando la propiedad StatusBarPanel.Style de un StatusBarPanel en un control StatusBar está establecida en OwnerDraw.

Para obtener más información sobre la forma de controlar eventos, vea Utilizar eventos.

En el siguiente ejemplo de código se muestra cómo crear un StatusBarPanel dibujado por el propietario que muestra un fondo personalizado y la fecha actual. En el ejemplo se requiere que se haya conectado el evento DrawItem de un control StatusBar al controlador del evento definido en el ejemplo.

private void DrawMyPanel(object sender, System.Windows.Forms.StatusBarDrawItemEventArgs sbdevent)
{
   // Create a StringFormat object to align text in the panel.
   StringFormat sf = new StringFormat();
   // Format the String of the StatusBarPanel to be centered.
   sf.Alignment = StringAlignment.Center;
   sf.LineAlignment = StringAlignment.Center;

   // Draw a black background in owner-drawn panel.
   sbdevent.Graphics.FillRectangle(Brushes.Black, sbdevent.Bounds);
   // Draw the current date (short date format) with white text in the control's font.
   sbdevent.Graphics.DrawString(DateTime.Today.ToShortDateString(), 
      statusBar1.Font,Brushes.White,sbdevent.Bounds,sf);
}

private void DrawMyPanel(Object sender, 
    System.Windows.Forms.StatusBarDrawItemEventArgs sbdEvent)
{
    // Create a StringFormat object to align text in the panel.
    StringFormat sf = new StringFormat();
    // Format the String of the StatusBarPanel to be centered.
    sf.set_Alignment(StringAlignment.Center);
    sf.set_LineAlignment(StringAlignment.Center);
    // Draw a back blackground in owner-drawn panel.
    sbdEvent.get_Graphics().FillRectangle(Brushes.get_Black(), 
        sbdEvent.get_Bounds());
    // Draw the current date (short date format) with white text 
    // in the control's font.
    sbdEvent.get_Graphics().DrawString(DateTime.get_Today().
        ToShortDateString(), statusBar1.get_Font(), Brushes.get_White(),
        RectangleF.op_Implicit(sbdEvent.get_Bounds()), sf);
} //DrawMyPanel

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, 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: