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>]
type ListViewItem = class
    interface ICloneable
    interface ISerializable
Public Class ListViewItem
Implements ICloneable, ISerializable
继承
ListViewItem
属性
实现

示例

下面的代码示例创建一个控件,其中指定了三ListViewItemListView对象,并为每个项指定了三个ListViewItem.ListViewSubItem对象。 该示例还创建 ColumnHeader 对象以显示详细信息视图中的子项。 在代码示例中还创建了两个 ImageList 对象,以便为 ListViewItem 对象提供图像。 这些 ImageList 对象将添加到 LargeImageList 属性中 SmallImageList 。 此示例在创建 ListView 控件时使用以下属性:

需要将代码添加到 Form 窗体上的构造函数或其他方法的示例中创建的方法并调用该方法。 该示例要求名为 MySmallImage1C MySmallImage2``MyLargeImage1``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

注解

控件 ListView 类似于显示项列表的控件 ListBox 。 主要区别在于,控件 ListView 提供了用户可以查看项的多种不同方式。 该 ListViewItem 类定义与控件中显示的 ListView 项关联的外观、行为和数据。 ListViewItem 对象可以在四个不同的视图之一的控件中 ListView 显示。 项目可以显示为大图标或小图标,也可以显示为垂直列表中的小图标。 项还可以包含与父项相关的信息的子项。 第四个视图样式(详细信息视图)允许在网格中显示项及其子项,其中包含列标题,可用于标识子项中显示的信息。

类的 ListViewItem 大多数属性都提供了更改它与之关联的控件中 ListView 项的显示的方法。 属性BackColorFont属性允许你更改项文本在控件中的ListView显示方式。 ForeColorImageIndex属性允许通过设置LargeImageList) 的或SmallImageList属性ListView,指定要从ImageList分配给ListView控件 (加载的图像。 项目可以显示复选框,以便以类似于 CheckedListBox 控件的方式从用户获取项目选项。 可以使用 Checked 该属性来确定项目是否已选中,或者在运行时选中或清除该复选框。 当关联ListView控件的属性设置为Details控件并在控件中ListView.ColumnHeaderCollectionListView定义列时View,项可以显示任意数量的子项。 可以通过调用 Add 类的方法 ListViewItem.ListViewSubItemCollection 向项添加子项。 该 SubItems 属性允许你访问 ListViewItem.ListViewSubItemCollection 类及其成员。

类的某些 ListViewItem 属性和方法是控件中 ListView 特定于项的属性和方法版本。 例如,该方法 EnsureVisible 类似于 ListView 方法的版本,但版本 ListViewItem 仅影响当前项。

ListViewItem 类还提供不是方法版本 ListView 的方法。 该方法BeginEdit将项的文本置于编辑模式,以便当用户将控件的属性ListView设置为true) 时LabelEdit,用户可以更改项的文本 (。 使用此方法 Clone 可以创建现有 ListViewItem 对象的副本,以在其他控件中 ListView 重复使用。

构造函数

ListViewItem()

使用默认值初始化 ListViewItem 类的新实例。

ListViewItem(ListViewGroup)

初始化 ListViewItem 类的新实例,并将它分配到指定的组。

ListViewItem(ListViewItem+ListViewSubItem[], Int32)

用项图标的图像索引位置和 ListViewItem 对象的数组初始化 ListViewItem.ListViewSubItem 类的新实例。

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

用项图标的图像索引位置和 ListViewItem 对象的数组初始化 ListViewItem.ListViewSubItem 类的新实例,并将该项分配到指定的组。

ListViewItem(ListViewItem+ListViewSubItem[], String)

用指定的子项和图像初始化 ListViewItem 类的新实例。

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

用指定的子项、图像和组初始化 ListViewItem 类的新实例。

ListViewItem(SerializationInfo, StreamingContext)

使用指定的序列化信息和流上下文初始化 ListViewItem 类的新实例。

ListViewItem(String)

用指定的项文本初始化 ListViewItem 类的新实例。

ListViewItem(String, Int32)

用指定的项文本和项图标的图像索引位置初始化 ListViewItem 类的新实例。

ListViewItem(String, Int32, ListViewGroup)

用指定的项文本和项图标的图像索引位置初始化 ListViewItem 类的新实例,并将该项分配到指定的组。

ListViewItem(String, ListViewGroup)

用指定的项文本初始化 ListViewItem 类的新实例,并将它分配到指定的组。

ListViewItem(String, String)

用指定的文本和图像初始化 ListViewItem 类的新实例。

ListViewItem(String, String, ListViewGroup)

用指定的文本、图像和组初始化 ListViewItem 类的新实例。

ListViewItem(String[])

用表示子项的字符串数组初始化 ListViewItem 类的新实例。

ListViewItem(String[], Int32)

用项图标的图像索引位置和表示子项的字符串数组初始化 ListViewItem 类的新实例。

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

用项图标的图像索引位置、前景色、背景色、项的字体和表示子项的字符串数组初始化 ListViewItem 类的新实例。

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

用项图标的图像索引位置、前景色、背景色、项的字体和表示子项的字符串数组初始化 ListViewItem 类的新实例。 将该项分配到指定的组。

ListViewItem(String[], Int32, ListViewGroup)

用项图标的图像索引位置和表示子项的字符串数组初始化 ListViewItem 类的新实例,并将该项分配到指定的组。

ListViewItem(String[], ListViewGroup)

用表示子项的字符串数组初始化 ListViewItem 类的新实例,并将该项分配到指定的组。

ListViewItem(String[], String)

用指定的项和子项文本及图像初始化 ListViewItem 类的新实例。

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

用包含指定的文本、图像、颜色和字体的子项初始化 ListViewItem 类的新实例。

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

用包含指定的文本、图像、颜色、字体和组的子项初始化 ListViewItem 类的新实例。

ListViewItem(String[], String, ListViewGroup)

用包含指定文本、图像和组的子项初始化 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

获取或设置一个值,该值指示项的 FontForeColorBackColor 属性是否用于其所有子项。

方法

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)

序列化该项。

适用于

另请参阅