ListView.View Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví způsob zobrazení položek v ovládacím prvku.
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
Hodnota vlastnosti
Jedna z View hodnot. Výchozí hodnota je LargeIcon.
Výjimky
Zadaná hodnota není jednou z View hodnot.
Příklady
Následující příklad kódu vytvoří ListView ovládací prvek se třemi ListViewItem objekty zadanými a třemi ListViewItem.ListViewSubItem objekty zadanými pro každou položku. Příklad také vytvoří ColumnHeader objekty pro zobrazení dílčích položek v zobrazení podrobností. V příkladu kódu se vytvoří také dva ImageList objekty, které poskytují obrázky pro ListViewItem objekty. Tyto ImageList objekty jsou přidány do LargeImageList a SmallImageList vlastnosti. V příkladu ListView se při vytváření ovládacího prvku používají následující vlastnosti.
Tento příklad vyžaduje přidání kódu do Form a volání metody vytvořené v příkladu z konstruktoru nebo jiné metody ve formuláři. Příklad také vyžaduje, aby image s názvem MySmallImage1, MyLargeImage1MySmallImage2a MyLargeImage2 jsou umístěny v kořenovém adresáři jednotky 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
Poznámky
Vlastnost View umožňuje určit typ zobrazení, který ListView ovládací prvek používá k zobrazení položek. Vlastnost můžete nastavit View tak, aby zobrazovala jednotlivé položky s velkými nebo malými ikonami nebo zobrazovanými položkami ve svislém seznamu. Nejbohatší možností je zobrazení podrobností, které umožňuje zobrazit nejen položky, ale i všechny dílčí položky určené pro každou položku. Každá položka se zobrazí v mřížce, přičemž každá položka je svisle uvedená a podnabídky pro každou položku zobrazenou ve sloupci se záhlavími sloupců. Zobrazení podrobností je dokonalý způsob, jak uživateli zobrazit informace o databázi. V systému Windows XP a Windows Server 2003 můžete položky zobrazit také jako dlaždice, které vyrovnává grafické a textové informace, a to zobrazením velké ikony spolu s dílčími informacemi podle vašeho výběru. Pokud chcete povolit zobrazení dlaždic, aplikace musí metodu Application.EnableVisualStyles volat. V zobrazení s malým obrázkem se zobrazí každá položka s ikonou a textovými informacemi napravo od ikony. Zobrazení s velkým obrázkem zobrazí každou položku s ikonou a textovými informacemi pod ikonou. Velikost ikon pro seznam obrázků je určena ImageSize vlastností ImageList vlastnosti pro SmallImageList dané nebo LargeImageList vlastnosti.
Poznámka:
Pokud používáte více seznamů obrázků pro malé a velké zobrazení ikon s ovládacím ListView prvek, měli byste umístit malé a velké verze obrázku do stejného umístění indexu do příslušných seznamů obrázků. Při přepínání mezi zobrazeními se umístění indexu obrázku v jednom seznamu používá k vyhledání obrázku v druhém seznamu bez ohledu na zadanou hodnotu klíče.
Většina vlastností v ovládacím ListView prvku ovlivňuje chování různých zobrazení nebo zobrazení. Některé vlastnosti, které ovlivňují zobrazení položek, jsou užitečné pouze v případě View , že je vlastnost nastavena na konkrétní hodnotu, zatímco jiné jsou užitečné ve všech zobrazeních. Například vlastnosti, jako GridLinesFullRowSelect a jsou užitečné pouze v případě View , že je vlastnost nastavena na View.Details, zatímco MultiSelect vlastnosti jsou CheckBoxes užitečné ve všech zobrazeních.
V následující tabulce jsou uvedeny některé členy ListView a zobrazení, ve které jsou platné.
| ListView – člen | Zobrazit |
|---|---|
| Alignment vlastnost | SmallIcon nebo LargeIcon |
| AutoArrange vlastnost | SmallIcon nebo LargeIcon |
| metoda AutoResizeColumn | Details |
| CheckBoxes | Všechna zobrazení s výjimkou Tile |
| Columns vlastnost | Details nebo Tile |
| událost DrawSubItem | Details |
| metoda FindItemWithText | Details, List nebo Tile |
| metoda FindNearestItem | SmallIcon nebo LargeIcon |
| metoda GetItemAt | Details nebo Tile |
| Groups vlastnost | Všechna zobrazení s výjimkou List |
| HeaderStyle vlastnost | Details |
| InsertionMark vlastnost | LargeIcon, SmallIcon nebo Tile |
Vlastnost můžete použít View k poskytování různých zobrazení dat ve vaší aplikaci nebo k uzamčení konkrétního zobrazení, aby bylo možné využít výhody tohoto zobrazení. Vlastnost je například často nastavena ViewView.Details , protože zobrazení podrobností poskytuje řadu možností zobrazení, které nejsou k dispozici v ostatních zobrazeních.
Poznámka:
ListView Pokud ovládací prvek nemá zadané žádné záhlaví sloupců a vlastnost nastavíte View na View.Details, ListView ovládací prvek nezobrazí žádné položky. Pokud ovládací ListView prvek nemá zadané žádné záhlaví sloupců a nastavíte View vlastnost na View.Tile, ListView ovládací prvek nezobrazí žádné dílčí položky.
V zobrazení dlaždice se zobrazí každá položka s velkou ikonou vlevo a textovými informacemi vpravo. Textové informace se skládají z popisku položky následované dílčími položkami. Ve výchozím nastavení se zobrazí pouze první podnabídka, která odpovídá popisku položky. Chcete-li zobrazit další dílčí položky, musíte do kolekce přidat ColumnHeader objekty Columns . Každá poditávka na dlaždici odpovídá záhlaví sloupce. Chcete-li určit, které dílčí položky jsou zobrazeny a pořadí, ve kterém jsou zobrazeny, musíte nastavit ListViewItem.ListViewSubItem.Name vlastnost pro každou položku a ColumnHeader.Name vlastnost pro každé záhlaví. Potom můžete přidat, odebrat a změnit uspořádání hlaviček v Columns kolekci, abyste dosáhli požadovaného výsledku.
Pokud chcete řídit velikost dlaždic v zobrazení dlaždic, nastavte TileSize vlastnost. To je užitečné, pokud je text poddotazí příliš dlouhý pro jeden řádek.
Příklad zobrazení dlaždice najdete ve TileSize vlastnosti.
Poznámka:
I když se sloupce zobrazují jenom v zobrazení podrobností, podnabídky bez záhlaví sloupců se nezobrazí v zobrazení podrobností nebo v zobrazení dlaždice.
Zobrazení dlaždic je k dispozici pouze v systému Windows XP a Windows Server 2003, když aplikace volá metodu Application.EnableVisualStyles . V dřívějších operačních systémech nemá žádný kód související se zobrazením dlaždice žádný vliv a ListView ovládací prvek se zobrazí v zobrazení velkých ikon. V důsledku toho nemusí jakýkoli kód, který závisí na zobrazení dlaždice, fungovat správně.
Můžete chtít zahrnout kód, který určuje, jestli je zobrazení dlaždic k dispozici, a poskytnout alternativní funkce, pokud není k dispozici. Pokud například pomocí výkresu vlastníka přizpůsobíte vzhled položek v zobrazení dlaždic, můžete při spuštění v operačních ListView systémech, které nepodporují zobrazení dlaždic, použít kód výkresu odpovídající zobrazení velkých ikon.
Funkce zobrazení dlaždic je poskytována stejnou knihovnou, která poskytuje funkci motivů operačního systému. Chcete-li zkontrolovat dostupnost této knihovny, zavolejte FeatureSupport.IsPresent(Object) přetížení metody a předejte OSFeature.Themes hodnotu.