ListView.View Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает способ отображения составляющих элементов в данном элементе управления.
public:
property System::Windows::Forms::View View { System::Windows::Forms::View get(); void set(System::Windows::Forms::View value); };
public System.Windows.Forms.View View { get; set; }
member this.View : System.Windows.Forms.View with get, set
Public Property View As View
Значение свойства
Одно из значений перечисления View. Значение по умолчанию — LargeIcon.
Исключения
Указанное значение не равно ни одному из значений View.
Примеры
В следующем примере кода создается ListView элемент управления с тремя ListViewItem указанными объектами и тремя ListViewItem.ListViewSubItem объектами, указанными для каждого элемента. В этом примере также создаются ColumnHeader объекты для отображения подэлементов в представлении сведений. В примере кода также создаются два ImageList объекта для предоставления ListViewItem изображений для объектов . Эти ImageList объекты добавляются в LargeImageList свойства и SmallImageList . В примере используются следующие свойства при создании ListView элемента управления .
В этом примере требуется добавить код Form в и вызвать метод, созданный в примере из конструктора или другого метода в форме. В примере также требуется, чтобы образы с именами MySmallImage1
, 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
Комментарии
Свойство View позволяет указать тип отображения, ListView который элемент управления использует для отображения элементов. Свойство можно задать View для отображения каждого элемента с большими или маленькими значками или отображения элементов в вертикальном списке. Самый богатый параметр — представление сведений, которое позволяет просматривать не только элементы, но и все подэлементы, указанные для каждого элемента. Каждый элемент отображается в сетке, где каждый элемент указан по вертикали, а подэлементы для каждого элемента отображаются в столбце с заголовками столбцов. Представление сведений — это идеальный способ отображения сведений о базе данных для пользователя. В Windows XP и Windows Server 2003 вы также можете отображать элементы в виде плиток, которые балансировать графические и текстовые данные, отображая большой значок и подэлементы по вашему выбору. Чтобы включить представление плитки, приложение должно вызвать Application.EnableVisualStyles метод . В представлении небольшого изображения каждый элемент отображается со значком и текстовой информацией справа от значка. В представлении большого изображения каждый элемент отображается со значком и текстовой информацией под значком. Размер значков для списка изображений определяется ImageSize свойством ImageList объекта для SmallImageList свойств или LargeImageList .
Примечание
Если вы используете несколько списков изображений, для представления маленьких и больших значков с элементом ListView управления следует размещать небольшие и крупные версии изображения в одном и том же расположении индекса в соответствующих списках изображений. При переключении между представлениями расположение индекса изображения в одном списке используется для поиска изображения в другом списке независимо от указанного значения ключа.
Большинство свойств в элементе ListView управления влияют на поведение или отображение различных представлений. Некоторые свойства, влияющие на представления элементов, полезны только в том случае, если свойству View присвоено определенное значение, в то время как другие полезны во всех представлениях. Например, такие свойства, как GridLines и FullRowSelect , полезны только в том случае, если свойству View присвоено значение View.Details, а MultiSelect свойства и CheckBoxes полезны во всех представлениях.
В следующей таблице показаны некоторые ListView элементы и представления, в которых они действительны.
Элемент ListView | Просмотр |
---|---|
СвойствоAlignment | SmallIcon либо LargeIcon |
СвойствоAutoArrange | SmallIcon либо LargeIcon |
Метод AutoResizeColumn | Details |
CheckBoxes | Все представления, кроме Tile |
СвойствоColumns | Details либо Tile |
СобытиеDrawSubItem | Details |
Метод FindItemWithText | Details, Listили Tile |
Метод FindNearestItem | SmallIcon либо LargeIcon |
Метод GetItemAt | Details либо Tile |
СвойствоGroups | Все представления, кроме List |
СвойствоHeaderStyle | Details |
СвойствоInsertionMark | LargeIcon, SmallIconили Tile |
Свойство можно использовать для View предоставления различных представлений данных в приложении или для блокировки определенного представления для использования преимуществ этого представления. Например, свойству View часто присваивается значение , View.Details так как представление сведений предоставляет ряд параметров просмотра, недоступных в других представлениях.
Примечание
Если в элементе ListView управления не указаны заголовки столбцов, а свойству ViewView.Detailsприсвоено значение , ListView элемент управления не будет отображать никакие элементы. Если в элементе ListView управления не указаны заголовки столбцов, а свойству ViewView.Tileприсвоено значение , ListView элемент управления не будет отображать подэлементы.
В представлении плитки отображается каждый элемент с большим значком слева и текстовой информацией справа. Текстовая информация состоит из метки элемента, за которой следуют подэлементы. По умолчанию отображается только первый подэлемент, соответствующий меткам элемента. Чтобы отобразить дополнительные подэлементы, необходимо добавить ColumnHeader объекты в коллекцию Columns . Каждый подэлемент на плитке соответствует заголовку столбца. Чтобы управлять отображением подэлементов и порядком их отображения, необходимо задать ListViewItem.ListViewSubItem.Name свойство для каждого элемента и ColumnHeader.Name свойство для каждого заголовка. Затем можно добавлять, удалять и переупорядочивать заголовки в Columns коллекции для достижения нужного результата.
Чтобы управлять размером плиток в представлении плиток, задайте TileSize свойство . Это полезно для предотвращения обтекания строк, если текст подэлемента слишком длинный для одной строки.
Пример представления плитки см. в свойстве TileSize .
Примечание
Хотя столбцы отображаются только в представлении сведений, подэлементы без заголовков столбцов не будут отображаться ни в представлении сведений, ни в представлении плитки.
Представление плиток доступно только в Windows XP и Windows Server 2003, когда приложение вызывает Application.EnableVisualStyles метод . В предыдущих версиях операционных систем код, связанный с мозаичным представлением, не оказывает никакого влияния, элемент управления ListView отображается в представлении крупных значков. В результате любой код, зависящий от представления плитки, может работать неправильно.
Может потребоваться включить код, который определяет, доступно ли представление плитки, и предоставлять альтернативные функциональные возможности, если оно недоступно. Например, при использовании документа владельца для настройки внешнего вида ListView элементов в представлении плитки может потребоваться использовать код рисования, соответствующий представлению больших значков, при выполнении в операционных системах, которые не поддерживают представление плитки.
Функция представления плиток предоставляется той же библиотекой, которая предоставляет функцию тем операционной системы. Чтобы проверка доступность этой библиотеки, вызовите перегрузку FeatureSupport.IsPresent(Object) метода и передайте OSFeature.Themes значение .