Поделиться через


ListViewItem Класс

Определение

Представляет элемент в элементе ListView управления.

public ref class ListViewItem : ICloneable, System::Runtime::Serialization::ISerializable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.ListViewItemConverter))]
[System.Serializable]
public class ListViewItem : ICloneable, System.Runtime.Serialization.ISerializable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.ListViewItemConverter))]
[System.Serializable]
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
public class ListViewItem : ICloneable, System.Runtime.Serialization.ISerializable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.ListViewItemConverter))>]
[<System.Serializable>]
type ListViewItem = class
    interface ICloneable
    interface ISerializable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.ListViewItemConverter))>]
[<System.Serializable>]
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)>]
type ListViewItem = class
    interface ICloneable
    interface ISerializable
Public Class ListViewItem
Implements ICloneable, ISerializable
Наследование
ListViewItem
Атрибуты
Реализации

Примеры

В следующем примере кода создается элемент управления с тремя ListViewItem объектамиListView, указанными и тремя ListViewItem.ListViewSubItem объектами, указанными для каждого элемента. В примере также создаются ColumnHeader объекты для отображения вложенных элементов в представлении сведений. Два ImageList объекта также создаются в примере кода для предоставления изображений для ListViewItem объектов. Эти ImageList объекты добавляются в LargeImageList свойства и SmallImageList свойства. В примере используются следующие свойства при создании ListView элемента управления:

Необходимо добавить код в Form форму и вызвать метод, созданный в примере конструктора или другого метода в форме. В примере требуется, чтобы образы с именем MySmallImage1, MySmallImage2MyLargeImage1и MyLargeImage2 находятся в корневом каталоге диска C.

private:
   void CreateMyListView()
   {
      // Create a new ListView control.
      ListView^ listView1 = gcnew ListView;
      listView1->Bounds = Rectangle(Point(10,10),System::Drawing::Size( 300, 200 ));

      // Set the view to show details.
      listView1->View = View::Details;

      // Allow the user to edit item text.
      listView1->LabelEdit = true;

      // Allow the user to rearrange columns.
      listView1->AllowColumnReorder = true;

      // Display check boxes.
      listView1->CheckBoxes = true;

      // Select the item and subitems when selection is made.
      listView1->FullRowSelect = true;

      // Display grid lines.
      listView1->GridLines = true;

      // Sort the items in the list in ascending order.
      listView1->Sorting = SortOrder::Ascending;

      // Create three items and three sets of subitems for each item.
      ListViewItem^ item1 = gcnew ListViewItem( "item1",0 );

      // Place a check mark next to the item.
      item1->Checked = true;
      item1->SubItems->Add( "1" );
      item1->SubItems->Add( "2" );
      item1->SubItems->Add( "3" );
      ListViewItem^ item2 = gcnew ListViewItem( "item2",1 );
      item2->SubItems->Add( "4" );
      item2->SubItems->Add( "5" );
      item2->SubItems->Add( "6" );
      ListViewItem^ item3 = gcnew ListViewItem( "item3",0 );

      // Place a check mark next to the item.
      item3->Checked = true;
      item3->SubItems->Add( "7" );
      item3->SubItems->Add( "8" );
      item3->SubItems->Add( "9" );

      // Create columns for the items and subitems.
      // Width of -2 indicates auto-size.
      listView1->Columns->Add( "Item Column", -2, HorizontalAlignment::Left );
      listView1->Columns->Add( "Column 2", -2, HorizontalAlignment::Left );
      listView1->Columns->Add( "Column 3", -2, HorizontalAlignment::Left );
      listView1->Columns->Add( "Column 4", -2, HorizontalAlignment::Center );

      //Add the items to the ListView.
      array<ListViewItem^>^temp1 = {item1,item2,item3};
      listView1->Items->AddRange( temp1 );

      // Create two ImageList objects.
      ImageList^ imageListSmall = gcnew ImageList;
      ImageList^ imageListLarge = gcnew ImageList;

      // Initialize the ImageList objects with bitmaps.
      imageListSmall->Images->Add( Bitmap::FromFile( "C:\\MySmallImage1.bmp" ) );
      imageListSmall->Images->Add( Bitmap::FromFile( "C:\\MySmallImage2.bmp" ) );
      imageListLarge->Images->Add( Bitmap::FromFile( "C:\\MyLargeImage1.bmp" ) );
      imageListLarge->Images->Add( Bitmap::FromFile( "C:\\MyLargeImage2.bmp" ) );

      //Assign the ImageList objects to the ListView.
      listView1->LargeImageList = imageListLarge;
      listView1->SmallImageList = imageListSmall;
      
      // Add the ListView to the control collection.
      this->Controls->Add( listView1 );
   }
private void CreateMyListView()
{
    // Create a new ListView control.
    ListView listView1 = new ListView();
    listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200));

    // Set the view to show details.
    listView1.View = View.Details;
    // Allow the user to edit item text.
    listView1.LabelEdit = true;
    // Allow the user to rearrange columns.
    listView1.AllowColumnReorder = true;
    // Display check boxes.
    listView1.CheckBoxes = true;
    // Select the item and subitems when selection is made.
    listView1.FullRowSelect = true;
    // Display grid lines.
    listView1.GridLines = true;
    // Sort the items in the list in ascending order.
    listView1.Sorting = SortOrder.Ascending;
                
    // Create three items and three sets of subitems for each item.
    ListViewItem item1 = new ListViewItem("item1",0);
    // Place a check mark next to the item.
    item1.Checked = true;
    item1.SubItems.Add("1");
    item1.SubItems.Add("2");
    item1.SubItems.Add("3");
    ListViewItem item2 = new ListViewItem("item2",1);
    item2.SubItems.Add("4");
    item2.SubItems.Add("5");
    item2.SubItems.Add("6");
    ListViewItem item3 = new ListViewItem("item3",0);
    // Place a check mark next to the item.
    item3.Checked = true;
    item3.SubItems.Add("7");
    item3.SubItems.Add("8");
    item3.SubItems.Add("9");

    // Create columns for the items and subitems.
    // Width of -2 indicates auto-size.
    listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);

    //Add the items to the ListView.
    listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});

    // Create two ImageList objects.
    ImageList imageListSmall = new ImageList();
    ImageList imageListLarge = new ImageList();

    // Initialize the ImageList objects with bitmaps.
    imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage1.bmp"));
    imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage2.bmp"));
    imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage1.bmp"));
    imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage2.bmp"));

    //Assign the ImageList objects to the ListView.
    listView1.LargeImageList = imageListLarge;
    listView1.SmallImageList = imageListSmall;

    // Add the ListView to the control collection.
    this.Controls.Add(listView1);
}
Private Sub CreateMyListView()
    ' Create a new ListView control.
    Dim listView1 As New ListView()
    listView1.Bounds = New Rectangle(New Point(10, 10), New Size(300, 200))

    ' Set the view to show details.
    listView1.View = View.Details
    ' Allow the user to edit item text.
    listView1.LabelEdit = True
    ' Allow the user to rearrange columns.
    listView1.AllowColumnReorder = True
    ' Display check boxes.
    listView1.CheckBoxes = True
    ' Select the item and subitems when selection is made.
    listView1.FullRowSelect = True
    ' Display grid lines.
    listView1.GridLines = True
    ' Sort the items in the list in ascending order.
    listView1.Sorting = SortOrder.Ascending

    ' Create three items and three sets of subitems for each item.
    Dim item1 As New ListViewItem("item1", 0)
    ' Place a check mark next to the item.
    item1.Checked = True
    item1.SubItems.Add("1")
    item1.SubItems.Add("2")
    item1.SubItems.Add("3")
    Dim item2 As New ListViewItem("item2", 1)
    item2.SubItems.Add("4")
    item2.SubItems.Add("5")
    item2.SubItems.Add("6")
    Dim item3 As New ListViewItem("item3", 0)
    ' Place a check mark next to the item.
    item3.Checked = True
    item3.SubItems.Add("7")
    item3.SubItems.Add("8")
    item3.SubItems.Add("9")

    ' Create columns for the items and subitems.
    ' Width of -2 indicates auto-size.
    listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center)

    'Add the items to the ListView.
    listView1.Items.AddRange(New ListViewItem() {item1, item2, item3})

    ' Create two ImageList objects.
    Dim imageListSmall As New ImageList()
    Dim imageListLarge As New ImageList()

    ' Initialize the ImageList objects with bitmaps.
    imageListSmall.Images.Add(Bitmap.FromFile("C:\MySmallImage1.bmp"))
    imageListSmall.Images.Add(Bitmap.FromFile("C:\MySmallImage2.bmp"))
    imageListLarge.Images.Add(Bitmap.FromFile("C:\MyLargeImage1.bmp"))
    imageListLarge.Images.Add(Bitmap.FromFile("C:\MyLargeImage2.bmp"))

    'Assign the ImageList objects to the ListView.
    listView1.LargeImageList = imageListLarge
    listView1.SmallImageList = imageListSmall

    ' Add the ListView to the control collection.
    Me.Controls.Add(listView1)
End Sub

Комментарии

Элемент управления похож на ListBox тотListView, который отображает список элементов. Основное различие заключается в том, что элемент ListView управления предоставляет ряд различных способов просмотра элементами пользователем. Класс ListViewItem определяет внешний вид, поведение и данные, связанные с элементом, отображаемым в элементе ListView управления. ListViewItem объекты могут отображаться в элементе ListView управления в одном из четырех различных представлений. Элементы могут отображаться как большие или небольшие значки или как небольшие значки в вертикальном списке. Элементы также могут содержать вложенные элементы, содержащие сведения, связанные с родительским элементом. Четвертый стиль представления, представление сведений позволяет отображать элемент и его вложенные элементы в сетке с заголовками столбцов, которые можно использовать для идентификации информации, отображаемой в подсети.

Большинство свойств ListViewItem класса предоставляют способы изменения отображения элемента в элементе ListView управления, с которым он связан. Свойства BackColorи Font свойства ForeColorпозволяют изменить способ отображения текста элемента в элементе ListView управления. Свойство ImageIndex позволяет указать изображение для загрузки из ImageList элемента ListView управления (задав LargeImageList или SmallImageList свойства элемента ListViewуправления). Элементы могут отображать флажки для получения выбора элементов от пользователя таким образом, как CheckedListBox элемент управления. Свойство можно использовать Checked для определения, установлен ли элемент, или для выбора или очистки флажка во время выполнения. Элементы могут отображать любое количество дочерних элементов, если View свойство связанного ListView элемента управления задано Details , а столбцы определяются в ListView.ColumnHeaderCollection элементе ListView управления. Вы можете добавить вложенные элементы в элемент, вызвав Add метод ListViewItem.ListViewSubItemCollection класса. Свойство SubItems позволяет получить доступ к классу ListViewItem.ListViewSubItemCollection и его членам.

Некоторые свойства и методы ListViewItem класса — это версии свойств и методов элемента ListView управления. Например, EnsureVisible метод аналогичен ListView версии метода, но ListViewItem версия влияет только на текущий элемент.

Класс ListViewItem также предоставляет методы, которые не являются версиями ListView методов. Метод BeginEdit помещает текст элемента в режим редактирования, чтобы пользователь смог изменить текст элемента (если LabelEdit для свойства ListView элемента управления задано значение true). Этот Clone метод позволяет создавать копии существующих ListViewItem объектов для повторного использования в других ListView элементах управления.

Конструкторы

Имя Описание
ListViewItem()

Инициализирует новый экземпляр класса ListViewItem со значениями по умолчанию.

ListViewItem(ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса и назначает его указанной группе.

ListViewItem(ListViewItem+ListViewSubItem[], Int32, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с положением индекса изображения значка элемента и массива ListViewItem.ListViewSubItem объектов и назначает элемент указанной группе.

ListViewItem(ListViewItem+ListViewSubItem[], Int32)

Инициализирует новый экземпляр ListViewItem класса с положением индекса изображения значка элемента и массивом ListViewItem.ListViewSubItem объектов.

ListViewItem(ListViewItem+ListViewSubItem[], String, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с указанными подэлементами, изображением и группой.

ListViewItem(ListViewItem+ListViewSubItem[], String)

Инициализирует новый экземпляр ListViewItem класса с указанными подэлементами и изображением.

ListViewItem(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр ListViewItem класса с указанными сведениями о сериализации и контекстом потоковой передачи.

ListViewItem(String, Int32, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с указанным текстом элемента и положением индекса изображения значка элемента и назначает элемент указанной группе.

ListViewItem(String, Int32)

Инициализирует новый экземпляр ListViewItem класса с указанным текстом элемента и положением индекса изображения значка элемента.

ListViewItem(String, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с указанным текстом элемента и назначает его указанной группе.

ListViewItem(String, String, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с указанным текстом, изображением и группой.

ListViewItem(String, String)

Инициализирует новый экземпляр ListViewItem класса с указанным текстом и изображением.

ListViewItem(String)

Инициализирует новый экземпляр ListViewItem класса с указанным текстом элемента.

ListViewItem(String[], Int32, Color, Color, Font, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с положением индекса изображения значка элемента; цвет переднего плана, цвет фона и шрифт элемента, а также массив строк, представляющих вложенные элементы. Назначает элемент указанной группе.

ListViewItem(String[], Int32, Color, Color, Font)

Инициализирует новый экземпляр ListViewItem класса с положением индекса изображения значка элемента; цвет переднего плана, цвет фона и шрифт элемента, а также массив строк, представляющих вложенные элементы.

ListViewItem(String[], Int32, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с положением индекса изображения значка элемента и массивом строк, представляющих вложенные элементы, и назначает элемент указанной группе.

ListViewItem(String[], Int32)

Инициализирует новый экземпляр ListViewItem класса с положением индекса изображения значка элемента и массивом строк, представляющих вложенные объекты.

ListViewItem(String[], ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с массивом строк, представляющих дочерние объекты, и назначает элемент указанной группе.

ListViewItem(String[], String, Color, Color, Font, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с вложенными сайтами, содержащими указанный текст, изображение, цвета, шрифт и группу.

ListViewItem(String[], String, Color, Color, Font)

Инициализирует новый экземпляр ListViewItem класса с подсетями, содержащими указанный текст, изображение, цвета и шрифт.

ListViewItem(String[], String, ListViewGroup)

Инициализирует новый экземпляр ListViewItem класса с подсетями, содержащими указанный текст, изображение и группу.

ListViewItem(String[], String)

Инициализирует новый экземпляр ListViewItem класса с указанным элементом и вложенным текстом и изображением.

ListViewItem(String[])

Инициализирует новый экземпляр ListViewItem класса с массивом строк, представляющих дочерние объекты.

Свойства

Имя Описание
BackColor

Возвращает или задает цвет фона текста элемента.

Bounds

Получает ограничивающий прямоугольник элемента, включая вложенные элементы.

Checked

Возвращает или задает значение, указывающее, установлен ли элемент.

Focused

Возвращает или задает значение, указывающее, имеет ли элемент фокус в элементе ListView управления.

Font

Возвращает или задает шрифт текста, отображаемого элементом.

ForeColor

Возвращает или задает цвет переднего плана текста элемента.

Group

Возвращает или задает группу, которой назначается элемент.

ImageIndex

Возвращает или задает индекс изображения, отображаемого для элемента.

ImageKey

Возвращает или задает ключ для изображения, отображаемого для элемента.

ImageList

Возвращает объект ImageList , содержащий изображение, отображаемое элементом.

IndentCount

Получает или задает количество небольших ширин изображений, по которым отступ отступа ListViewItem.

Index

Возвращает отсчитываемый от нуля индекс элемента в элементе ListView управления.

ListView

ListView Возвращает элемент управления, содержащий элемент.

Name

Возвращает или задает имя, связанное с этим ListViewItem.

Position

Возвращает или задает позицию верхнего левого ListViewItemугла элемента.

Selected

Возвращает или задает значение, указывающее, выбран ли элемент.

StateImageIndex

Возвращает или задает индекс изображения состояния (например, выбранный или снятый флажок, указывающий состояние элемента), отображаемый для элемента.

SubItems

Возвращает коллекцию, содержащую все вложенные элементы элемента.

Tag

Возвращает или задает объект, содержащий данные для связывания с элементом.

Text

Возвращает или задает текст элемента.

ToolTipText

Возвращает или задает текст, отображаемый при хранении ListViewItemуказателя мыши.

UseItemStyleForSubItems

Возвращает или задает значение, указывающее, используются ли FontForeColorсвойства элемента для BackColor всех его дочерних элементов.

Методы

Имя Описание
BeginEdit()

Помещает текст элемента в режим редактирования.

Clone()

Создает идентичную копию элемента.

Deserialize(SerializationInfo, StreamingContext)

Десериализация элемента.

EnsureVisible()

Гарантирует, что элемент отображается в элементе управления, прокручивая содержимое элемента управления при необходимости.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindNearestItem(SearchDirectionHint)

Находит следующий элемент из ListViewItemпоиска в указанном направлении.

GetBounds(ItemBoundsPortion)

Извлекает указанную часть ограничивающего прямоугольника для элемента.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetSubItemAt(Int32, Int32)

Возвращает подсеть указанной ListViewItem координаты.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Remove()

Удаляет элемент из связанного ListView элемента управления.

Serialize(SerializationInfo, StreamingContext)

Сериализует элемент.

ToString()

Возвращает строку, представляющую текущий объект.

Явные реализации интерфейса

Имя Описание
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Сериализует элемент.

Применяется к

См. также раздел