DrawItemEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные о событии DrawItem.
public ref class DrawItemEventArgs : EventArgs
public ref class DrawItemEventArgs : EventArgs, IDisposable, System::Drawing::IDeviceContext
public class DrawItemEventArgs : EventArgs
public class DrawItemEventArgs : EventArgs, IDisposable, System.Drawing.IDeviceContext
type DrawItemEventArgs = class
inherit EventArgs
type DrawItemEventArgs = class
inherit EventArgs
interface IDisposable
interface IDeviceContext
Public Class DrawItemEventArgs
Inherits EventArgs
Public Class DrawItemEventArgs
Inherits EventArgs
Implements IDeviceContext, IDisposable
- Наследование
- Производный
- Реализации
Примеры
В следующем примере показано, как создать элементы, нарисованные ListBox владельцем. Код использует DrawMode свойство, чтобы указать, что нарисованные элементы имеют фиксированный размер и DrawItem событие для выполнения рисования каждого элемента в элементе ListBox. В примере кода используются свойства и методы DrawItemEventArgs класса, переданные в качестве параметра обработчику событий, для рисования элементов. В этом примере предполагается, что ListBox элемент управления, который называется listBox1 , был добавлен в форму и что DrawItem событие обрабатывается обработчиком событий, определенным в примере кода. В примере также предполагается, что элементы были добавлены ListBox в текст "Apple", "Оранжевый" и "Слив" в этом порядке.
private ListBox ListBox1 = new ListBox();
private void InitializeListBox()
{
ListBox1.Items.AddRange(new Object[]
{ "Red Item", "Orange Item", "Purple Item" });
ListBox1.Location = new System.Drawing.Point(81, 69);
ListBox1.Size = new System.Drawing.Size(120, 95);
ListBox1.DrawMode = DrawMode.OwnerDrawFixed;
ListBox1.DrawItem += new DrawItemEventHandler(ListBox1_DrawItem);
Controls.Add(ListBox1);
}
private void ListBox1_DrawItem(object sender,
System.Windows.Forms.DrawItemEventArgs e)
{
// Draw the background of the ListBox control for each item.
e.DrawBackground();
// Define the default color of the brush as black.
Brush myBrush = Brushes.Black;
// Determine the color of the brush to draw each item based
// on the index of the item to draw.
switch (e.Index)
{
case 0:
myBrush = Brushes.Red;
break;
case 1:
myBrush = Brushes.Orange;
break;
case 2:
myBrush = Brushes.Purple;
break;
}
// Draw the current item text based on the current Font
// and the custom brush settings.
e.Graphics.DrawString(ListBox1.Items[e.Index].ToString(),
e.Font, myBrush, e.Bounds, StringFormat.GenericDefault);
// If the ListBox has focus, draw a focus rectangle around the selected item.
e.DrawFocusRectangle();
}
Private WithEvents ListBox1 As New ListBox()
Private Sub InitializeListBox()
ListBox1.Items.AddRange(New Object() _
{"Red Item", "Orange Item", "Purple Item"})
ListBox1.Location = New System.Drawing.Point(81, 69)
ListBox1.Size = New System.Drawing.Size(120, 95)
ListBox1.DrawMode = DrawMode.OwnerDrawFixed
Controls.Add(ListBox1)
End Sub
Private Sub ListBox1_DrawItem(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DrawItemEventArgs) _
Handles ListBox1.DrawItem
' Draw the background of the ListBox control for each item.
e.DrawBackground()
' Define the default color of the brush as black.
Dim myBrush As Brush = Brushes.Black
' Determine the color of the brush to draw each item based on
' the index of the item to draw.
Select Case e.Index
Case 0
myBrush = Brushes.Red
Case 1
myBrush = Brushes.Orange
Case 2
myBrush = Brushes.Purple
End Select
' Draw the current item text based on the current
' Font and the custom brush settings.
e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), _
e.Font, myBrush, e.Bounds, StringFormat.GenericDefault)
' If the ListBox has focus, draw a focus rectangle around _
' the selected item.
e.DrawFocusRectangle()
End Sub
Комментарии
Событие DrawItem вызывается элементами управления рисования владельца, такими как ListBox элементы управления и ComboBox элементы управления. Он содержит все сведения, необходимые пользователю для рисования указанного элемента, включая индекс элемента, а также сведения Graphics о том, Rectangleна котором должен быть выполнен рисунок.
Конструкторы
| Имя | Описание |
|---|---|
| DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, Color, Color) |
Инициализирует новый экземпляр класса для указанного DrawItemEventArgs элемента управления с указанным шрифтом, состоянием, цветом переднего плана, цветом фона, поверхностью для рисования и границами, нарисуемых внутри. |
| DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState) |
Инициализирует новый экземпляр класса для указанного DrawItemEventArgs элемента управления с указанным шрифтом, состоянием, поверхностью для рисования и границами, нарисуемых внутри. |
Свойства
| Имя | Описание |
|---|---|
| BackColor |
Возвращает цвет фона нарисованного элемента. |
| Bounds |
Возвращает прямоугольник, представляющий границы нарисованного элемента. |
| Font |
Возвращает шрифт, назначенный рисуемой элементу. |
| ForeColor |
Возвращает цвет переднего плана рисуемого элемента. |
| Graphics |
Получает область графики для рисования элемента. |
| Index |
Возвращает значение индекса рисуемого элемента. |
| State |
Возвращает состояние рисуемого элемента. |
Методы
| Имя | Описание |
|---|---|
| Dispose() |
Выполняет определяемые приложением задачи, связанные с освобождением, освобождением или сбросом неуправляемых ресурсов. |
| Dispose(Boolean) |
Предоставляет данные о событии |
| DrawBackground() |
Рисует фон в пределах, указанных в конструкторе DrawItemEventArgs , и с соответствующим цветом. |
| DrawFocusRectangle() |
Рисует прямоугольник фокуса в пределах границ, указанных в конструкторе DrawItemEventArgs . |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDeviceContext.GetHdc() |
Возвращает дескриптор контексту устройства Windows. |
| IDeviceContext.ReleaseHdc() |
Освобождает дескриптор контекста устройства Windows. |