StatusBarDrawItemEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные о событии 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
- Наследование
Примеры
В следующем примере кода показано, как использовать Style свойство, StatusBarDrawItemEventHandler делегат, StatusBarDrawItemEventArgs класс, перечисление StatusBarPanelStyleStatusBarDrawItemEventArgs.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 владельцем. Указывает StatusBarDrawItemEventArgs объект, используемый Graphics для рисования панели, объект, Rectangle в котором будет нарисовываемая панель, идентификационный номер панели, сведения о состоянии панели и панель для рисования. Данные, предоставляемые этим классом, можно использовать в обработчике событий для события для DrawItem создания настраиваемых панелей в элементе управления приложения StatusBar .
Конструкторы
StatusBarDrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, StatusBarPanel) |
Инициализирует новый экземпляр класса StatusBarDrawItemEventArgs без указания для StatusBarPanel цвета фона и основного цвета. |
StatusBarDrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, StatusBarPanel, Color, Color) |
Инициализирует новый экземпляр класса StatusBarDrawItemEventArgs с заданными для StatusBarPanel цветом фона и основным цветом. |
Свойства
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) |