StatusBar.DrawItem Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastane, když se změní vizuální aspekt ovládacího prvku stavového řádku nakresleného vlastníkem.
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
Event Type
Příklady
Následující příklad kódu ukazuje, jak vytvořit nakreslený StatusBarPanel vlastník, který zobrazuje vlastní pozadí a aktuální datum. Tento příklad vyžaduje, abyste událost StatusBar ovládacího prvku připojili DrawItem k obslužné rutině události definované v příkladu.
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
Poznámky
Tuto událost můžete použít k provádění operací kreslení v ovládacím prvku nakresleném StatusBar vlastníkem. Pokud například zobrazíte výkres StatusBarPanel vlastníka, který zobrazuje indikátor průběhu, můžete tuto událost použít k provedení výkresu indikátoru průběhu na panelu. Data poskytnutá události prostřednictvím objektu StatusBarDrawItemEventArgs předaného jako parametr obslužné rutině události umožňují určit panel, který je potřeba nakreslit, a Graphics použít k kreslení na panel. Tato událost je vyvolána pouze v případě StatusBarPanel.Style , že je vlastnost StatusBarPanel v ovládacím StatusBar prvku nastavena na OwnerDraw.
Další informace o zpracování událostí naleznete v tématu Zpracování a vyvolávání událostí.