Exportieren (0) Drucken
Alle erweitern

StatusBar.DrawItem-Ereignis

Tritt ein, wenn sich ein Darstellungsaspekt eines ownerdrawn Statusleisten-Steuerelements ändert.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

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

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

JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.

Sie können mit diesem Ereignis Zeichnungsvorgänge in einem Ownerdrawn-StatusBar-Steuerelement ausführen. Wenn beispielsweise ein Ownerdrawn-StatusBarPanel mit einer Statusanzeige angezeigt wird, kann mithilfe dieses Ereignisses die Statusanzeige in dem Bereich gezeichnet werden. Durch das StatusBarDrawItemEventArgs-Objekt, das dem Ereignishandler als Parameter übergeben wird, werden dem Ereignis Daten bereitgestellt, mit denen der zu zeichnende Bereich und das hierfür zu verwendende Graphics bestimmt werden können. Dieses Ereignis wird nur ausgelöst, wenn die StatusBarPanel.Style-Eigenschaft eines StatusBarPanel in einem StatusBar-Steuerelement auf OwnerDraw festgelegt ist.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter Behandeln von Ereignissen.

Im folgenden Codebeispiel wird veranschaulicht, wie ein Ownerdrawn-StatusBarPanel erstellt wird, in dem ein benutzerdefinierter Hintergrund und das aktuelle Datum angezeigt werden. Für dieses Beispiel ist es erforderlich, dass Sie das DrawItem-Ereignis eines StatusBar-Steuerelements mit dem Ereignishandler verbunden haben, der im Beispiel definiert wurde.

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 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Anzeigen:
© 2015 Microsoft