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í 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.

Platí pro

Viz také