Sdílet prostřednictvím


ListView.View Vlastnost

Definice

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, MyLargeImage1MySmallImage2, 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.

Platí pro

Viz také