ListViewItem 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 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
- 属性
- 实现
示例
下面的代码示例创建一个控件,其中包含为每个项指定的三ListViewItem个ListView对象和三ListViewItem.ListViewSubItem个对象。 该示例还创建 ColumnHeader 对象以在详细信息视图中显示子项。 在代码示例中还会创建两 ImageList 个对象,以便为 ListViewItem 对象提供图像。 这些 ImageList 对象将添加到 LargeImageList 属性中 SmallImageList 。 此示例在创建 ListView 控件时使用以下属性:
需要将代码添加到 Form 窗体上的构造函数或其他方法的示例中创建的方法并调用该方法。 该示例要求名为 MySmallImage1
C 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 项显示的方法。 使用属性BackColorForeColorFont可以更改控件中ListView显示项的文本的方式。 该ImageIndex属性允许通过设置LargeImageList) 的或SmallImageList属性ListView,指定要从ImageListListView分配给控件 (加载的图像。 项目可以显示复选框,以便以类似于 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 控件中重复使用。
构造函数
属性
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 |
方法
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) |
序列化该项。 |