StatusBar.DrawItem Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.