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í formát je LargeIcon.
Výjimky
Zadaná hodnota není jednou z View hodnot.
Příklady
Následující příklad kódu vytvoří ovládací prvek ListView se třemi ListViewItem zadanými objekty 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 jsou také vytvořeny dva ImageList objekty, které poskytují obrázky pro ListViewItem objekty. Tyto ImageList objekty se přidají do LargeImageList vlastností a SmallImageList . V příkladu se při vytváření ListView ovládacího prvku používají následující vlastnosti.
Tento příklad vyžaduje, abyste přidali kód do Form a volali metodu vytvořenou v příkladu z konstruktoru nebo jiné metody ve formuláři. Příklad také vyžaduje, aby image s názvem MySmallImage1
, MyLargeImage1
MySmallImage2
, a MyLargeImage2
byly 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 tak View , aby zobrazovala každou položku s velkými nebo malými ikonami nebo zobrazovala položky ve svislém seznamu. Nejbohatší možností je zobrazení podrobností, které umožňuje zobrazit nejen položky, ale i všechny podřízené položky zadané pro každou položku. Každá položka se zobrazí v mřížce, přičemž každá položka je uvedená svisle a podřízené položky se zobrazí ve sloupci se záhlavími sloupců. Zobrazení podrobností představuje dokonalý způsob, jak uživateli zobrazit informace o databázi. V systémech Windows XP a Windows Server 2003 můžete také zobrazit položky jako dlaždice, které vyvažují grafické a textové informace, a to zobrazením velké ikony spolu s podřízenými informacemi podle vašeho výběru. Pokud chcete povolit zobrazení dlaždic, musí aplikace volat metodu Application.EnableVisualStyles . Zobrazení malého obrázku zobrazí každou položku 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í ImageListSmallImageList vlastnosti nebo LargeImageList .
Poznámka
Pokud používáte více seznamů obrázků pro zobrazení malých a velkých ikon pomocí ListView ovládacího prvku, měli byste umístit malé a velké verze obrázku na stejné místo indexu v příslušných seznamech obrázků. Při přepínání mezi zobrazeními se umístění indexu obrázku v jednom seznamu použije k vyhledání obrázku v druhém seznamu bez ohledu na zadanou hodnotu klíče.
Většina vlastností ListView ovládacího prvku ovlivňuje chování nebo zobrazení různých zobrazení. Některé vlastnosti, které ovlivňují zobrazení položek, jsou užitečné pouze v případě View , že je vlastnost nastavena na určitou hodnotu, zatímco jiné jsou užitečné ve všech zobrazeních. Například vlastnosti jako GridLines a FullRowSelect jsou užitečné pouze v případě, že View je vlastnost nastavená na View.Details, zatímco MultiSelect vlastnosti a CheckBoxes jsou užitečné ve všech zobrazeních.
Následující tabulka uvádí některé členy ListView a zobrazení, ve které jsou platné.
ListView – člen | Zobrazení |
---|---|
Alignment Vlastnost | SmallIcon nebo LargeIcon |
AutoArrange Vlastnost | SmallIcon nebo LargeIcon |
Metoda AutoResizeColumn | Details |
CheckBoxes | Všechna zobrazení kromě Tile |
Columns Vlastnost | Details nebo Tile |
DrawSubItem Událost | Details |
Metoda FindItemWithText | Details, Listnebo Tile |
Metoda FindNearestItem | SmallIcon nebo LargeIcon |
Metoda GetItemAt | Details nebo Tile |
Groups Vlastnost | Všechna zobrazení kromě List |
HeaderStyle Vlastnost | Details |
InsertionMark Vlastnost | LargeIcon, SmallIconnebo Tile |
Vlastnost můžete použít View k poskytování různých zobrazení dat ve vaší aplikaci nebo k uzamčení určitého zobrazení, abyste mohli využívat výhody tohoto zobrazení. Vlastnost je například často nastavená naView.Details, View protože zobrazení podrobností poskytuje řadu možností zobrazení, které nejsou k dispozici v ostatních zobrazeních.
Poznámka
Pokud ovládací ListView prvek nemá zadané žádné záhlaví sloupců a nastavíte View vlastnost na View.Details, ListView ovládací prvek nezobrazí žádné položky. Pokud ovládací ListView prvek neobsahuje žádná záhlaví sloupců a nastavíte View vlastnost na View.Tile, ListView ovládací prvek nezobrazí žádné podřízené položky.
Zobrazení dlaždic zobrazí každou položku s velkou ikonou vlevo a textovými informacemi vpravo. Textové informace se skládají z popisku položky následované podnabídky. Ve výchozím nastavení se zobrazí pouze první podnabídka, která odpovídá popisku položky. Pokud chcete zobrazit další podřízené položky, musíte do Columns kolekce přidat ColumnHeader objekty. Každá dílčí položka na dlaždici odpovídá záhlaví sloupce. Chcete-li určit, které podřízené položky se mají zobrazit 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í záhlaví v kolekci Columns , 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 chcete zabránit obtékání řádků, pokud je podřízený text příliš dlouhý pro jeden řádek.
Příklad zobrazení dlaždic najdete ve TileSize vlastnosti .
Poznámka
I když se sloupce zobrazují jenom v zobrazení podrobností, podřízené položky bez záhlaví sloupců se nezobrazí v zobrazení podrobností ani v zobrazení dlaždic.
Zobrazení dlaždic je k dispozici pouze v systémech 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ždic žádný vliv a ListView ovládací prvek se zobrazí ve velkém zobrazení ikon. V důsledku toho nemusí kód, který závisí na zobrazení dlaždic, správně fungovat.
Můžete zahrnout kód, který určuje, jestli je zobrazení dlaždic dostupné, a poskytnout alternativní funkce, pokud není k dispozici. Pokud například použijete vlastní výkres k přizpůsobení vzhledu ListView položek v zobrazení dlaždic, můžete při spuštění v operačních systémech, které nepodporují zobrazení dlaždic, použít kód výkresu odpovídající zobrazení velkých ikon.
Funkci zobrazení dlaždic poskytuje stejná knihovna, která poskytuje funkci motivů operačního systému. Pokud chcete zkontrolovat dostupnost této knihovny, zavolejte FeatureSupport.IsPresent(Object) přetížení metody a předejte OSFeature.Themes hodnotu.