Esporta (0) Stampa
Espandi tutto

Evento StatusBar.DrawItem

Aggiornamento: novembre 2007

Viene generato quando si modifica un aspetto visivo di un controllo barra di stato creato dal proprietario.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public event StatusBarDrawItemEventHandler DrawItem
/** @event */
public void add_DrawItem (StatusBarDrawItemEventHandler value)
/** @event */
public void remove_DrawItem (StatusBarDrawItemEventHandler value)

JScript non supporta gli eventi.

Questo evento può essere utilizzato per eseguire operazioni di disegno in un controllo StatusBar creato dal proprietario. Nel caso di un oggetto StatusBarPanel creato dal proprietario in cui sia visualizzato un indicatore di stato, ad esempio, è possibile utilizzare questo evento per eseguire il disegno dell'indicatore di stato sul pannello. I dati forniti all'evento tramite l'oggetto StatusBarDrawItemEventArgs passato come parametro al gestore eventi consentono di determinare il pannello da disegnare e l'oggetto Graphics da utilizzare per il disegno del pannello. L'evento viene generato solo quando la proprietà StatusBarPanel.Style di un controllo StatusBarPanel in un controllo StatusBar è impostata su OwnerDraw.

Per ulteriori informazioni sulla gestione di eventi, vedere Utilizzo degli eventi.

Nell'esempio di codice riportato di seguito viene illustrato come creare un controllo StatusBarPanel creato dal proprietario con uno sfondo personalizzato e la data corrente. Per eseguire questo esempio è necessario che l'evento DrawItem di un controllo StatusBar sia stato collegato al gestore eventi definito nell'esempio.

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 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.set_Alignment(StringAlignment.Center);
    sf.set_LineAlignment(StringAlignment.Center);
    // Draw a back blackground in owner-drawn panel.
    sbdEvent.get_Graphics().FillRectangle(Brushes.get_Black(), 
        sbdEvent.get_Bounds());
    // Draw the current date (short date format) with white text 
    // in the control's font.
    sbdEvent.get_Graphics().DrawString(DateTime.get_Today().
        ToShortDateString(), statusBar1.get_Font(), Brushes.get_White(),
        RectangleF.op_Implicit(sbdEvent.get_Bounds()), sf);
} //DrawMyPanel


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft