StatusBarDrawItemEventArgs 类     
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为 DrawItem 事件提供数据。
public ref class StatusBarDrawItemEventArgs : System::Windows::Forms::DrawItemEventArgspublic class StatusBarDrawItemEventArgs : System.Windows.Forms.DrawItemEventArgstype StatusBarDrawItemEventArgs = class
    inherit DrawItemEventArgsPublic Class StatusBarDrawItemEventArgs
Inherits DrawItemEventArgs- 继承
示例
下面的代码示例演示如何使用 Style 属性、 StatusBarDrawItemEventHandler 委托、 StatusBarDrawItemEventArgs 类、 StatusBarPanelStyle 枚举和 StatusBarDrawItemEventArgs.Panel 属性。 若要运行该示例,请将以下代码粘贴到窗体中。 
              InitializeStatusBarPanels在窗体的构造函数或 Load 方法中调用 方法。
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 的视觉方面发生更改时,将发生 该事件。 Graphics指定StatusBarDrawItemEventArgs用于绘制面板的对象、Rectangle要在其中绘制面板的对象、面板标识号、有关面板的状态信息以及要绘制的面板。 可以在事件的事件处理程序 DrawItem 中使用此类提供的数据,在应用程序的 StatusBar 控件中创建自定义面板。
构造函数
属性
| BackColor | 获取所绘制的项的背景色。(继承自 DrawItemEventArgs) | 
| Bounds | 获取表示所绘制项的边界的矩形。(继承自 DrawItemEventArgs) | 
| Font | 获取分配给所绘制项的字体。(继承自 DrawItemEventArgs) | 
| ForeColor | 获取所绘制项的前景色。(继承自 DrawItemEventArgs) | 
| Graphics | 获取要在其上绘制项的图形表面。(继承自 DrawItemEventArgs) | 
| Index | 获取所绘制项的索引值。(继承自 DrawItemEventArgs) | 
| Panel | 获取要绘制的 StatusBarPanel。 | 
| State | 获取所绘制项的状态。(继承自 DrawItemEventArgs) | 
方法
| Dispose() | 执行与释放或重置非托管资源关联的应用程序定义的任务。(继承自 DrawItemEventArgs) | 
| Dispose(Boolean) | 为 DrawItem 事件提供数据。(继承自 DrawItemEventArgs) | 
| DrawBackground() | 在 DrawItemEventArgs 构造函数指定的边界范围内用适当的颜色绘制背景。(继承自 DrawItemEventArgs) | 
| DrawFocusRectangle() | 在 DrawItemEventArgs 构造函数指定的边界范围内绘制聚焦框。(继承自 DrawItemEventArgs) | 
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| ToString() | 返回表示当前对象的字符串。(继承自 Object) |