Freigeben über


StatusBarDrawItemEventArgs Klasse

Definition

Stellt Daten für das DrawItem-Ereignis bereit.

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
Vererbung
StatusBarDrawItemEventArgs

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Style -Eigenschaft, der StatusBarDrawItemEventHandler Delegat, die StatusBarDrawItemEventArgs -Klasse, die StatusBarPanelStyle -Enumeration und die StatusBarDrawItemEventArgs.Panel -Eigenschaft verwendet werden. Fügen Sie zum Ausführen des Beispiels den folgenden Code in ein Formular ein. Rufen Sie die InitializeStatusBarPanels -Methode im Konstruktor oder Load der Methode des Formulars auf.

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

Hinweise

Das DrawItem Ereignis tritt auf, wenn sich ein visueller Aspekt eines besitzergezeichneten Elements StatusBarPanel ändert. Ein StatusBarDrawItemEventArgs gibt das Graphics Objekt an, das zum Zeichnen des Bereichs verwendet werden soll, das Rectangle Objekt, in dem der Bereich gezeichnet werden soll, die Bereichs-IDENTIFIKATIONsnummer, Zustandsinformationen zum Bereich und den zu zeichnenden Bereich. Sie können die von dieser Klasse bereitgestellten Daten in einem Ereignishandler für das DrawItem Ereignis verwenden, um benutzerdefinierte gezeichnete Bereiche im Steuerelement Ihrer Anwendung StatusBar zu erstellen.

Konstruktoren

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

Initialisiert eine neue Instanz der StatusBarDrawItemEventArgs-Klasse, ohne dass dabei eine Hintergrund- und Vordergrundfarbe für das StatusBarPanel angegeben wird.

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

Initialisiert eine neue Instanz der StatusBarDrawItemEventArgs-Klasse mit einer angegebenen Hintergrund- und Vordergrundfarbe für das StatusBarPanel.

Eigenschaften

BackColor

Ruft die Hintergrundfarbe des Elements ab, das gerade gezeichnet wird.

(Geerbt von DrawItemEventArgs)
Bounds

Ruft das Rechteck ab, das die Begrenzungen des gerade gezeichneten Elements darstellt.

(Geerbt von DrawItemEventArgs)
Font

Ruft die Schriftart ab, die dem gerade gezeichneten Element zugewiesen ist.

(Geerbt von DrawItemEventArgs)
ForeColor

Ruft die Vordergrundfarbe des Elements ab, das gerade gezeichnet wird.

(Geerbt von DrawItemEventArgs)
Graphics

Ruft die Grafikoberfläche ab, auf der das Element gezeichnet werden soll.

(Geerbt von DrawItemEventArgs)
Index

Ruft den Indexwert des Elements ab, das gerade gezeichnet wird.

(Geerbt von DrawItemEventArgs)
Panel

Ruft das zu zeichnende StatusBarPanel ab.

State

Ruft den Zustand des Elements ab, das gerade gezeichnet wird.

(Geerbt von DrawItemEventArgs)

Methoden

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von DrawItemEventArgs)
Dispose(Boolean)

Stellt Daten für das DrawItem-Ereignis bereit.

(Geerbt von DrawItemEventArgs)
DrawBackground()

Zeichnet den Hintergrund innerhalb der im DrawItemEventArgs-Konstruktor angegebenen Begrenzungen und mit der entsprechenden Farbe.

(Geerbt von DrawItemEventArgs)
DrawFocusRectangle()

Zeichnet ein Fokusrechteck innerhalb der im DrawItemEventArgs-Konstruktor angegebenen Begrenzungen.

(Geerbt von DrawItemEventArgs)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen