Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Löst das OnDrawItem-Ereignis aus.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Protected Overridable Sub OnDrawItem ( _
sbdievent As StatusBarDrawItemEventArgs _
)
'Usage
Dim sbdievent As StatusBarDrawItemEventArgs
Me.OnDrawItem(sbdievent)
protected virtual void OnDrawItem (
StatusBarDrawItemEventArgs sbdievent
)
protected:
virtual void OnDrawItem (
StatusBarDrawItemEventArgs^ sbdievent
)
protected void OnDrawItem (
StatusBarDrawItemEventArgs sbdievent
)
protected function OnDrawItem (
sbdievent : StatusBarDrawItemEventArgs
)
Parameter
- sbdievent
Ein StatusBarDrawItemEventArgs, das die Ereignisdaten enthält.
Hinweise
Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Auslösen eines Ereignisses.
Die OnDrawItem-Methode ermöglicht es auch abgeleiteten Klassen, das Ereignis ohne Anfügen eines Delegaten zu behandeln. Dies ist das bevorzugte Verfahren für die Behandlung des Ereignisses in einer abgeleiteten Klasse.
Hinweise für Erben Wenn Sie OnDrawItem in einer abgeleiteten Klasse überschreiben, müssen Sie unbedingt die OnDrawItem-Methode der Basisklasse aufrufen, sodass registrierte Delegaten das Ereignis empfangen.
Beispiel
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 Sub StatusBar1_DrawItem(ByVal sender As Object, ByVal sbdevent As System.Windows.Forms.StatusBarDrawItemEventArgs) Handles StatusBar1.DrawItem
' Create a StringFormat object to align text in the panel.
Dim sf As 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, _
New RectangleF(sbdevent.Bounds.X, sbdevent.Bounds.Y, _
sbdevent.Bounds.Width, sbdevent.Bounds.Height), sf)
End Sub
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 = gcnew StringFormat;
// Format the String of the StatusBarPanel to be centered.
sf->Alignment = StringAlignment::Center;
sf->LineAlignment = StringAlignment::Center;
// Draw a back blackground 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
Plattformen
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.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
StatusBar-Klasse
StatusBar-Member
System.Windows.Forms-Namespace
DrawItem
StatusBarDrawItemEventArgs