Condividi tramite


StatusBarDrawItemEventArgs Classe

Definizione

Fornisce i dati per l'evento DrawItem.

public ref class StatusBarDrawItemEventArgs : System::Windows::Forms::DrawItemEventArgs
public class StatusBarDrawItemEventArgs : System.Windows.Forms.DrawItemEventArgs
type StatusBarDrawItemEventArgs = class
    inherit DrawItemEventArgs
Public Class StatusBarDrawItemEventArgs
Inherits DrawItemEventArgs
Ereditarietà
StatusBarDrawItemEventArgs

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare la Style proprietà , il StatusBarDrawItemEventHandler delegato, la StatusBarDrawItemEventArgs classe , l'enumerazione StatusBarPanelStyle e la StatusBarDrawItemEventArgs.Panel proprietà . Per eseguire l'esempio, incollare il codice seguente in un modulo. Chiamare il InitializeStatusBarPanels metodo nel costruttore o Load nel metodo del form.

StatusBar^ StatusBar1;
void InitializeStatusBarPanels()
{
   StatusBar1 = gcnew StatusBar;
   
   // Create two StatusBarPanel objects.
   StatusBarPanel^ panel1 = gcnew StatusBarPanel;
   StatusBarPanel^ panel2 = gcnew StatusBarPanel;
   
   // Set the style of the panels.  
   // panel1 will be owner-drawn.
   panel1->Style = StatusBarPanelStyle::OwnerDraw;
   
   // The panel2 object will be drawn by the operating system.
   panel2->Style = StatusBarPanelStyle::Text;
   
   // Set the text of both panels to the same date string.
   panel1->Text = System::DateTime::Today.ToShortDateString();
   panel2->Text = System::DateTime::Today.ToShortDateString();
   
   // Add both panels to the StatusBar.
   StatusBar1->Panels->Add( panel1 );
   StatusBar1->Panels->Add( panel2 );
   
   // Make panels visible by setting the ShowPanels 
   // property to True.
   StatusBar1->ShowPanels = true;
   
   // Associate the event-handling method with the DrawItem event 
   // for the owner-drawn panel.
   StatusBar1->DrawItem += gcnew StatusBarDrawItemEventHandler( this, &Form1::DrawCustomStatusBarPanel );
   this->Controls->Add( StatusBar1 );
}


// Draw the panel.
void DrawCustomStatusBarPanel( Object^ sender, StatusBarDrawItemEventArgs^ e )
{
   
   // Draw a blue background in the owner-drawn panel.
   e->Graphics->FillRectangle( Brushes::AliceBlue, e->Bounds );
   
   // Create a StringFormat object to align text in the panel.
   StringFormat^ textFormat = gcnew StringFormat;
   
   // Center the text in the middle of the line.
   textFormat->LineAlignment = StringAlignment::Center;
   
   // Align the text to the left.
   textFormat->Alignment = StringAlignment::Far;
   
   // Draw the panel's text in dark blue using the Panel 
   // and Bounds properties of the StatusBarEventArgs object 
   // and the StringFormat object.
   e->Graphics->DrawString( e->Panel->Text, StatusBar1->Font, Brushes::DarkBlue, RectangleF(e->Bounds.X,e->Bounds.Y,e->Bounds.Width,e->Bounds.Height), textFormat );
}
private StatusBar StatusBar1;

private void InitializeStatusBarPanels()
{
    StatusBar1 = new StatusBar();

    // Create two StatusBarPanel objects.
    StatusBarPanel panel1 = new StatusBarPanel();
    StatusBarPanel panel2 = new StatusBarPanel();

    // Set the style of the panels.  
    // panel1 will be owner-drawn.
    panel1.Style = StatusBarPanelStyle.OwnerDraw;

    // The panel2 object will be drawn by the operating system.
    panel2.Style = StatusBarPanelStyle.Text;

    // Set the text of both panels to the same date string.
    panel1.Text = System.DateTime.Today.ToShortDateString();
    panel2.Text = System.DateTime.Today.ToShortDateString();

    // Add both panels to the StatusBar.
    StatusBar1.Panels.Add(panel1);
    StatusBar1.Panels.Add(panel2);

    // Make panels visible by setting the ShowPanels 
    // property to True.
    StatusBar1.ShowPanels = true;

    // Associate the event-handling method with the DrawItem event 
    // for the owner-drawn panel.
    StatusBar1.DrawItem += 
        new StatusBarDrawItemEventHandler(DrawCustomStatusBarPanel);
        
    this.Controls.Add(StatusBar1);
}

// Draw the panel.
private void DrawCustomStatusBarPanel(object sender, 
    StatusBarDrawItemEventArgs e)
{

    // Draw a blue background in the owner-drawn panel.
    e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds);

    // Create a StringFormat object to align text in the panel.
    StringFormat textFormat = new StringFormat();

    // Center the text in the middle of the line.
    textFormat.LineAlignment = StringAlignment.Center;

    // Align the text to the left.
    textFormat.Alignment = StringAlignment.Far;

    // Draw the panel's text in dark blue using the Panel 
    // and Bounds properties of the StatusBarEventArgs object 
    // and the StringFormat object.
    e.Graphics.DrawString(e.Panel.Text, StatusBar1.Font, 
        Brushes.DarkBlue, new RectangleF(e.Bounds.X, 
        e.Bounds.Y, e.Bounds.Width, e.Bounds.Height), textFormat);
}
Private StatusBar1 As StatusBar

Private Sub InitializeStatusBarPanels()
    StatusBar1 = New StatusBar

    ' Create two StatusBarPanel objects.
    Dim panel1 As New StatusBarPanel
    Dim panel2 As New StatusBarPanel

    ' Set the style of the panels.  
    ' panel1 will be owner-drawn.
    panel1.Style = StatusBarPanelStyle.OwnerDraw

    ' The panel2 object will be drawn by the operating system.
    panel2.Style = StatusBarPanelStyle.Text

    ' Set the text of both panels to the same date string.
    panel1.Text = DateTime.Today.ToShortDateString()
    panel2.Text = DateTime.Today.ToShortDateString()

    ' Add both panels to the StatusBar.
    StatusBar1.Panels.Add(panel1)
    StatusBar1.Panels.Add(panel2)

    ' Make panels visible by setting the ShowPanels 
    ' property to True.
    StatusBar1.ShowPanels = True

    ' Use the AddHandler syntax to handle the DrawItem event
    ' for the owner-drawn panel.
    AddHandler StatusBar1.DrawItem, _
        New StatusBarDrawItemEventHandler( _
        AddressOf DrawCustomStatusBarPanel)
    Me.Controls.Add(StatusBar1)
End Sub

' Draw the panel.
Private Sub DrawCustomStatusBarPanel(ByVal sender As Object, _
    ByVal e As StatusBarDrawItemEventArgs)

    ' Draw a blue background in the owner-drawn panel.
    e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds)

    ' Create a StringFormat object to align text in the panel.
    Dim textFormat As New StringFormat

    ' Center the text in the middle of the line.
    textFormat.LineAlignment = StringAlignment.Center

    ' Align the text to the left.
    textFormat.Alignment = StringAlignment.Far

    ' Draw the panel's text in dark blue using the Panel 
    ' and Bounds properties of the StatusBarEventArgs object 
    ' and the StringFormat object.
    e.Graphics.DrawString(e.Panel.Text, StatusBar1.Font, _
          Brushes.DarkBlue, New RectangleF(e.Bounds.X, e.Bounds.Y, _
          e.Bounds.Width, e.Bounds.Height), textFormat)

End Sub

Commenti

L'evento DrawItem si verifica quando viene modificato un aspetto visivo di un proprietario disegnato StatusBarPanel . Specifica StatusBarDrawItemEventArgs l'oggetto Graphics da utilizzare per disegnare il pannello, l'oggetto Rectangle in cui disegnare il pannello, il numero di identificazione del pannello, le informazioni sullo stato sul pannello e il pannello da disegnare. È possibile usare i dati forniti da questa classe in un gestore eventi per l'evento DrawItem per creare pannelli disegnati personalizzati nel controllo dell'applicazione StatusBar .

Costruttori

StatusBarDrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, StatusBarPanel)

Inizializza una nuova istanza della classe StatusBarDrawItemEventArgs senza specificare un colore di sfondo e di primo piano per l'oggetto StatusBarPanel.

StatusBarDrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, StatusBarPanel, Color, Color)

Inizializza una nuova istanza della classe StatusBarDrawItemEventArgs con il colore di sfondo e di primo piano specificati per l'oggetto StatusBarPanel.

Proprietà

BackColor

Ottiene il colore di sfondo dell'elemento da disegnare.

(Ereditato da DrawItemEventArgs)
Bounds

Ottiene il rettangolo che rappresenta i limiti dell'elemento da disegnare.

(Ereditato da DrawItemEventArgs)
Font

Ottiene il tipo di carattere assegnato all'elemento da disegnare.

(Ereditato da DrawItemEventArgs)
ForeColor

Ottiene il colore di primo piano dell'elemento da disegnare.

(Ereditato da DrawItemEventArgs)
Graphics

Ottiene la superficie dell'immagine su cui disegnare l'elemento.

(Ereditato da DrawItemEventArgs)
Index

Ottiene il valore di indice dell'elemento da disegnare.

(Ereditato da DrawItemEventArgs)
Panel

Ottiene l'oggetto StatusBarPanel da disegnare.

State

Ottiene lo stato dell'elemento da disegnare.

(Ereditato da DrawItemEventArgs)

Metodi

Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

(Ereditato da DrawItemEventArgs)
Dispose(Boolean)

Fornisce i dati per l'evento DrawItem.

(Ereditato da DrawItemEventArgs)
DrawBackground()

Disegna lo sfondo all'interno dei limiti specificati nel costruttore del metodo DrawItemEventArgs e con il colore appropriato.

(Ereditato da DrawItemEventArgs)
DrawFocusRectangle()

Disegna un rettangolo di attivazione all'interno dei limiti specificati nel costruttore DrawItemEventArgs.

(Ereditato da DrawItemEventArgs)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche