StatusBarDrawItemEventArgs StatusBarDrawItemEventArgs StatusBarDrawItemEventArgs StatusBarDrawItemEventArgs Class

定义

DrawItem 事件提供数据。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
继承
StatusBarDrawItemEventArgsStatusBarDrawItemEventArgsStatusBarDrawItemEventArgsStatusBarDrawItemEventArgs

示例

下面的代码示例演示如何使用Style属性,StatusBarDrawItemEventHandler委派,请StatusBarDrawItemEventArgs类,StatusBarPanelStyle枚举和StatusBarDrawItemEventArgs.Panel属性。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. 调用InitializeStatusBarPanels窗体的构造函数中的方法或Load方法。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

注解

DrawItem事件发生时的一个所有者描述的可视方位StatusBarPanel更改。The DrawItem event occurs when a visual aspect of an owner-drawn StatusBarPanel changes. 一个StatusBarDrawItemEventArgs指定Graphics对象,用于绘制面板,Rectangle在其中绘制面板、 面板和面板的状态信息面板标识数量要绘制的对象。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. 可以使用此类的事件处理程序中提供的数据DrawItem事件以在应用程序中创建自定义绘制面板StatusBar控件。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.

构造函数

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

初始化 StatusBarDrawItemEventArgs 类的新实例,而不指定 StatusBarPanel 的背景和前景色。Initializes a new instance of the StatusBarDrawItemEventArgs class without specifying a background and foreground color for the StatusBarPanel.

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

使用为 StatusBarDrawItemEventArgs 指定的前景色和背景色,初始化 StatusBarPanel 的新实例。Initializes a new instance of the StatusBarDrawItemEventArgs class with a specified background and foreground color for the StatusBarPanel.

属性

BackColor BackColor BackColor BackColor

获取所绘制的项的背景色。Gets the background color of the item that is being drawn.

(Inherited from DrawItemEventArgs)
Bounds Bounds Bounds Bounds

获取表示所绘制项的边界的矩形。Gets the rectangle that represents the bounds of the item that is being drawn.

(Inherited from DrawItemEventArgs)
Font Font Font Font

获取分配给所绘制项的字体。Gets the font that is assigned to the item being drawn.

(Inherited from DrawItemEventArgs)
ForeColor ForeColor ForeColor ForeColor

获取所绘制项的前景色。Gets the foreground color of the of the item being drawn.

(Inherited from DrawItemEventArgs)
Graphics Graphics Graphics Graphics

获取要在其上绘制项的图形表面。Gets the graphics surface to draw the item on.

(Inherited from DrawItemEventArgs)
Index Index Index Index

获取所绘制项的索引值。Gets the index value of the item that is being drawn.

(Inherited from DrawItemEventArgs)
Panel Panel Panel Panel

获取要绘制的 StatusBarPanelGets the StatusBarPanel to draw.

State State State State

获取所绘制项的状态。Gets the state of the item being drawn.

(Inherited from DrawItemEventArgs)

方法

DrawBackground() DrawBackground() DrawBackground() DrawBackground()

DrawItemEventArgs 构造函数指定的边界范围内用适当的颜色绘制背景。Draws the background within the bounds specified in the DrawItemEventArgs constructor and with the appropriate color.

(Inherited from DrawItemEventArgs)
DrawFocusRectangle() DrawFocusRectangle() DrawFocusRectangle() DrawFocusRectangle()

DrawItemEventArgs 构造函数指定的边界范围内绘制聚焦框。Draws a focus rectangle within the bounds specified in the DrawItemEventArgs constructor.

(Inherited from DrawItemEventArgs)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

确定指定的对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

作为默认哈希函数。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

获取当前实例的 TypeGets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(Inherited from Object)

适用于

另请参阅