Freigeben über


StatusBar.DrawItem Ereignis

Definition

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

public:
 event System::Windows::Forms::StatusBarDrawItemEventHandler ^ DrawItem;
public event System.Windows.Forms.StatusBarDrawItemEventHandler DrawItem;
member this.DrawItem : System.Windows.Forms.StatusBarDrawItemEventHandler 
Public Custom Event DrawItem As StatusBarDrawItemEventHandler 

Ereignistyp

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

Sie können dieses Ereignis verwenden, um Zeichnungsvorgänge in einem vom Besitzer gezeichneten StatusBar Steuerelement auszuführen. Wenn Sie z. B. ein vom Besitzer gezeichnetes StatusBarPanel Element anzeigen, das eine Statusanzeige anzeigt, können Sie dieses Ereignis verwenden, um das Zeichnen der Statusanzeige im Bereich auszuführen. Mit den Daten, die dem Ereignis über das -Objekt bereitgestellt werden, das StatusBarDrawItemEventArgs als Parameter an den Ereignishandler übergeben wird, können Sie den Bereich bestimmen, der gezeichnet werden muss, und das Graphics zum Zeichnen in den Bereich verwenden. Dieses Ereignis wird nur ausgelöst, wenn die StatusBarPanel.Style -Eigenschaft eines StatusBarPanel in einem StatusBar -Steuerelement auf OwnerDrawfestgelegt ist.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Gilt für:

Weitere Informationen