StatusBarDrawItemEventArgs Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides data for the DrawItem event.
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
- Inheritance
Examples
The following code example demonstrates how to use the Style property, the StatusBarDrawItemEventHandler delegate, the StatusBarDrawItemEventArgs class, the StatusBarPanelStyle enumeration and the StatusBarDrawItemEventArgs.Panel property. To run the example, paste the following code in a form. Call the InitializeStatusBarPanels
method in the form's constructor or Load
method.
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
Remarks
The DrawItem event occurs when a visual aspect of an owner-drawn StatusBarPanel changes. A StatusBarDrawItemEventArgs specifies the Graphics object to use to draw the panel, the Rectangle object in which to draw the panel, the panel identification number, state information about the panel, and the panel to draw. You can use the data provided by this class in an event handler for the DrawItem event to create custom-drawn panels in your application's StatusBar control.
Constructors
StatusBarDrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, StatusBarPanel, Color, Color) |
Initializes a new instance of the StatusBarDrawItemEventArgs class with a specified background and foreground color for the StatusBarPanel. |
StatusBarDrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, StatusBarPanel) |
Initializes a new instance of the StatusBarDrawItemEventArgs class without specifying a background and foreground color for the StatusBarPanel. |
Properties
BackColor |
Gets the background color of the item that is being drawn. (Inherited from DrawItemEventArgs) |
Bounds |
Gets the rectangle that represents the bounds of the item that is being drawn. (Inherited from DrawItemEventArgs) |
Font |
Gets the font that is assigned to the item being drawn. (Inherited from DrawItemEventArgs) |
ForeColor |
Gets the foreground color of the of the item being drawn. (Inherited from DrawItemEventArgs) |
Graphics |
Gets the graphics surface to draw the item on. (Inherited from DrawItemEventArgs) |
Index |
Gets the index value of the item that is being drawn. (Inherited from DrawItemEventArgs) |
Panel |
Gets the StatusBarPanel to draw. |
State |
Gets the state of the item being drawn. (Inherited from DrawItemEventArgs) |
Methods
Dispose() |
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. (Inherited from DrawItemEventArgs) |
Dispose(Boolean) | (Inherited from DrawItemEventArgs) |
DrawBackground() |
Draws the background within the bounds specified in the DrawItemEventArgs constructor and with the appropriate color. (Inherited from DrawItemEventArgs) |
DrawFocusRectangle() |
Draws a focus rectangle within the bounds specified in the DrawItemEventArgs constructor. (Inherited from DrawItemEventArgs) |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |