StatusBar.OnDrawItem(StatusBarDrawItemEventArgs) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Löst das OnDrawItem(StatusBarDrawItemEventArgs)-Ereignis aus.
protected:
virtual void OnDrawItem(System::Windows::Forms::StatusBarDrawItemEventArgs ^ sbdievent);
protected virtual void OnDrawItem (System.Windows.Forms.StatusBarDrawItemEventArgs sbdievent);
abstract member OnDrawItem : System.Windows.Forms.StatusBarDrawItemEventArgs -> unit
override this.OnDrawItem : System.Windows.Forms.StatusBarDrawItemEventArgs -> unit
Protected Overridable Sub OnDrawItem (sbdievent As StatusBarDrawItemEventArgs)
Parameter
- sbdievent
- StatusBarDrawItemEventArgs
Ein StatusBarDrawItemEventArgs, das die Ereignisdaten enthält.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie ein vom Besitzer gezeichnetes StatusBarPanel Objekt erstellen, das einen benutzerdefinierten Hintergrund und das aktuelle Datum anzeigt. In diesem Beispiel müssen Sie das DrawItem Ereignis eines StatusBar Steuerelements mit dem im Beispiel definierten Ereignishandler verbunden haben.
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.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 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
Hinweise
Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Behandeln und Auslösen von Ereignissen.
Mit der OnDrawItem-Methode können auch abgeleitete Klassen das Ereignis ohne Anfügen eines Delegaten behandeln. Dies ist das bevorzugte Verfahren für die Behandlung des Ereignisses in einer abgeleiteten Klasse.
Hinweise für Vererber
Wenn Sie OnDrawItem(StatusBarDrawItemEventArgs) in einer abgeleiteten Klasse überschreiben, müssen Sie die OnDrawItem(StatusBarDrawItemEventArgs)-Methode der Basisklasse aufrufen, damit registrierte Delegaten das Ereignis empfangen.