StatusBar.DrawItem Olay

Tanım

Sahip tarafından çizilen durum çubuğu denetiminin görsel bir yönü değiştiğinde gerçekleşir.

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 

Olay Türü

Örnekler

Aşağıdaki kod örneği, özel bir arka plan ve geçerli tarihi görüntüleyen sahip tarafından çizilmiş StatusBarPanel bir oluşturma işlemini gösterir. Bu örnek, bir StatusBar denetimin olayını örnekte tanımlanan olay işleyicisine bağlamanızı DrawItem gerektirir.

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

Açıklamalar

Bu olayı, sahip tarafından çizilmiş StatusBar bir denetimde çizim işlemleri gerçekleştirmek için kullanabilirsiniz. Örneğin, ilerleme çubuğu görüntüleyen bir sahip tarafından çizilmiş StatusBarPanel görüntülüyorsanız, paneldeki ilerleme çubuğunun çizimini gerçekleştirmek için bu olayı kullanabilirsiniz. Olay işleyicisine parametre olarak geçirilen nesne aracılığıyla StatusBarDrawItemEventArgs olaya sağlanan veriler, çizilmesi gereken paneli ve Graphics panele çizmek için kullanılacak paneli belirlemenizi sağlar. Bu olay yalnızca bir StatusBar denetimdeki özelliğinin StatusBarPanel olarak ayarlanması OwnerDrawdurumunda StatusBarPanel.Style oluşturulur.

Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.

Şunlara uygulanır

Ayrıca bkz.