ListView.View Właściwość

Definicja

Pobiera lub ustawia sposób wyświetlania elementów w kontrolce.Gets or sets how items are displayed in the control.

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

Wartość właściwości

Jedna z wartości View.One of the View values. Wartość domyślna to LargeIcon.The default is LargeIcon.

Wyjątki

Określona wartość nie jest jedną z wartości View.The value specified is not one of the View values.

Przykłady

Poniższy przykład kodu tworzy kontrolkę ListView z trzema określonymi obiektami ListViewItem i trzema obiektami ListViewItem.ListViewSubItem określonymi dla każdego elementu.The following code example creates a ListView control with three ListViewItem objects specified and three ListViewItem.ListViewSubItem objects specified for each item. Przykład tworzy również obiekty ColumnHeader, aby wyświetlić elementy podpozycje w widoku szczegółów.The example also creates ColumnHeader objects to display the subitems in details view. Dwa obiekty ImageList są również tworzone w przykładzie kodu w celu zapewnienia obrazów dla obiektów ListViewItem.Two ImageList objects are also created in the code example to provide images for the ListViewItem objects. Te ImageList obiekty są dodawane do właściwości LargeImageList i SmallImageList.These ImageList objects are added to the LargeImageList and SmallImageList properties. W przykładzie zastosowano następujące właściwości podczas tworzenia kontrolki ListView.The example uses the following properties in creating the ListView control.

Ten przykład wymaga dodania kodu do Form i wywołania metody utworzonej w przykładzie z konstruktora lub innej metody w formularzu.This example requires that you have added the code to a Form and call the method created in the example from the constructor or another method on the form. Przykład wymaga również, aby obrazy o nazwach MySmallImage1, MySmallImage2, MyLargeImage1 i MyLargeImage2 znajdować się w katalogu głównym dysku C.The example also requires that images named MySmallImage1, MySmallImage2, MyLargeImage1, and MyLargeImage2 are located in the root directory of drive 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

Uwagi

Właściwość View umożliwia określenie typu ekranu używanego przez kontrolkę ListView do wyświetlania elementów.The View property allows you to specify the type of display the ListView control uses to display items. Można ustawić właściwość View tak, aby wyświetlała każdy element z dużymi lub małymi ikonami lub wyświetlić elementy na liście pionowej.You can set the View property to display each item with large or small icons or display items in a vertical list. Opcja zaawansowana to widok szczegółów, który umożliwia wyświetlenie nie tylko elementów, ale wszystkich elementów podokreślonych dla każdego elementu.The richest option is the details view, which allows you to view not only the items but any subitems specified for each item. Każdy element jest wyświetlany w siatce, z każdym elementem wymienionym w pionie i podelementach dla każdego elementu wyświetlanego w kolumnie, z nagłówkami kolumn.Each item is displayed in a grid, with each item listed vertically and the subitems for each item displayed in a column, with column headers. Widok szczegółów jest idealnym sposobem wyświetlania informacji o bazie danych dla użytkownika.The details view is a perfect way to display database information to a user. W systemach Windows XP i Windows Server 2003 można także wyświetlać elementy jako kafelki, które równoważą informacje graficzne i tekstowe, pokazując dużą ikonę wraz z dowolnymi informacjami o zapasach.With Windows XP and Windows Server 2003, you can also display items as tiles that balance graphical and textual information by showing a large icon along with subitem information of your choosing. Aby włączyć widok kafelków, aplikacja musi wywoływać metodę Application.EnableVisualStyles.To enable tile view, your application must call the Application.EnableVisualStyles method. W widoku małych obrazów każdy element zawiera ikonę i informacje tekstowe po prawej stronie ikony.The small-image view displays each item with an icon and textual information to the right of the icon. W widoku dużego obrazu każdy element zawiera ikonę i informacje tekstowe pod ikoną.The large-image view displays each item with an icon and textual information below the icon. Rozmiar ikon dla listy obrazów jest określony przez właściwość ImageSize ImageList dla właściwości SmallImageList lub LargeImageList.The size of the icons for the image list is specified by the ImageSize property of the ImageList for the SmallImageList or LargeImageList properties.

Uwaga

W przypadku korzystania z wielu list obrazów w przypadku małych i dużych widoków ikon z kontrolką ListView należy umieścić małe i duże wersje obrazu w tej samej lokalizacji indeksu na odpowiednich listach obrazów.If you are using multiple image lists, for small and large icon view, with a ListView control, you should place small and large versions of the image at the same index location in their respective image lists. Podczas przełączania między widokami, lokalizacja indeksu obrazu na jednej liście jest używana do lokalizowania obrazu na drugiej liście, niezależnie od podanej wartości klucza.When switching between views, the index location of the image in one list is used to locate the image in the other list, regardless of the key value specified.

Większość właściwości kontrolki ListView ma wpływ na sposób zachowania lub wyświetlania różnych widoków.Most of the properties in the ListView control affect how the different views behave or are displayed. Niektóre właściwości, które wpływają na widoki elementów są przydatne tylko wtedy, gdy właściwość View jest ustawiona na określoną wartość, a inne są przydatne we wszystkich widokach.Some properties that affect the views of the items are only useful when the View property is set to a specific value, while others are useful in all views. Na przykład, właściwości, takie jak GridLines i FullRowSelect, są przydatne tylko wtedy, gdy właściwość View jest ustawiona na View.Details, natomiast właściwości MultiSelect i CheckBoxes są przydatne we wszystkich widokach.For example, properties such as GridLines and FullRowSelect are only useful when the View property is set to View.Details, while the MultiSelect and CheckBoxes properties are useful in all views.

W poniższej tabeli przedstawiono niektóre elementy członkowskie ListView i widoki, w których są one ważne.The following table shows some of the ListView members and the views they are valid in.

Element członkowski ListViewListView member WidokView
Alignment WłaściwośćAlignment property SmallIcon lub LargeIconSmallIcon or LargeIcon
AutoArrange WłaściwośćAutoArrange property SmallIcon lub LargeIconSmallIcon or LargeIcon
AutoResizeColumn, MetodaAutoResizeColumn method Details
CheckBoxes Wszystkie widoki z wyjątkiem TileAll views except Tile
Columns WłaściwośćColumns property Details lub TileDetails or Tile
zdarzenie DrawSubItemDrawSubItem event Details
FindItemWithText, MetodaFindItemWithText method Details, List lub TileDetails, List, or Tile
FindNearestItem, MetodaFindNearestItem method SmallIcon lub LargeIconSmallIcon or LargeIcon
GetItemAt, MetodaGetItemAt method Details lub TileDetails or Tile
Groups WłaściwośćGroups property Wszystkie widoki z wyjątkiem ListAll views except List
HeaderStyle WłaściwośćHeaderStyle property Details
InsertionMark WłaściwośćInsertionMark property LargeIcon, SmallIcon lub TileLargeIcon, SmallIcon, or Tile

Możesz użyć właściwości View, aby udostępnić różne widoki danych w aplikacji, lub zablokować konkretny widok, aby wykorzystać korzyści z tego widoku.You can use the View property to provide different views of data in your application, or to lock a specific view to utilize that view's benefits. Na przykład właściwość View jest często ustawiona na View.Details, ponieważ widok szczegółów zawiera wiele opcji wyświetlania dostępnych w innych widokach.For example, the View property is often set to View.Details because the details view provides a number of viewing options not available in the other views.

Uwaga

Jeśli formant ListView nie ma określonych nagłówków kolumn i ustawisz właściwość View na View.Details, w kontrolce ListView nie będą wyświetlane żadne elementy.If your ListView control does not have any column headers specified and you set the View property to View.Details, the ListView control will not display any items. Jeśli formant ListView nie ma określonych nagłówków kolumn i ustawisz właściwość View na View.Tile, w kontrolce ListView nie będą wyświetlane żadne elementy.If your ListView control does not have any column headers specified and you set the View property to View.Tile, the ListView control will not display any subitems.

Widok kafelka wyświetla każdy element z dużą ikoną po lewej stronie i po prawej stronie.The tile view displays each item with a large icon on the left and textual information on the right. Informacje tekstowe składają się z etykiety elementu, a po niej elementy SubItems.The textual information consists of the item label followed by subitems. Domyślnie jest wyświetlany tylko pierwszy element podrzędny, który odpowiada etykiecie elementu.By default, only the first subitem is displayed, which corresponds to the item label. Aby wyświetlić dodatkowe elementy podelementowe, należy dodać ColumnHeader obiektów do kolekcji Columns.To display additional subitems, you must add ColumnHeader objects to the Columns collection. Każdy element podrzędny kafelka odnosi się do nagłówka kolumny.Each subitem in the tile corresponds to a column header. Aby kontrolować, które elementy są wyświetlane, i kolejność, w jakiej są wyświetlane, należy ustawić właściwość ListViewItem.ListViewSubItem.Name dla każdego elementu i Właściwość ColumnHeader.Name dla każdego nagłówka.To control which subitems are displayed and the order in which they are displayed, you must set the ListViewItem.ListViewSubItem.Name property for each item and the ColumnHeader.Name property for each header. Następnie można dodać, usunąć i zmienić rozmieszczenie nagłówków w kolekcji Columns, aby osiągnąć żądany wynik.You can then add, remove, and rearrange headers in the Columns collection to achieve the desired result.

Aby kontrolować rozmiar kafelków w widoku kafelków, ustaw właściwość TileSize.To control the size of the tiles in the tile view, set the TileSize property. Jest to przydatne w celu uniemożliwienia zawijania wierszy, gdy tekst podelementu jest zbyt długi dla pojedynczego wiersza.This is useful to prevent line-wrapping when subitem text is too long for a single line.

Aby zapoznać się z przykładem widoku kafelków, zobacz Właściwość TileSize.For an example of the tile view, see the TileSize property.

Uwaga

Chociaż kolumny są wyświetlane tylko w widoku szczegółów, elementy SubItems bez nagłówków kolumn nie będą wyświetlane w widoku szczegółów ani w widoku kafelków.Although columns are only displayed in the details view, subitems without column headers will not display in either the details view or the tile view.

Widok kafelków jest dostępny tylko w systemach Windows XP i Windows Server 2003, gdy aplikacja wywołuje metodę Application.EnableVisualStyles.The tile view is available only on Windows XP and Windows Server 2003 when your application calls the Application.EnableVisualStyles method. We wcześniejszych systemach operacyjnych każdy kod związany z widokiem kafelka nie ma żadnego wpływu, a w widoku dużych ikon zostanie wyświetlony formant ListView.On earlier operating systems, any code related to the tile view has no effect, and the ListView control displays in the large icon view. W efekcie każdy kod, który zależy od widoku kafelka, może nie funkcjonować prawidłowo.As a result, any code that depends on the tile view might not work correctly.

Możesz chcieć dołączyć kod, który określa, czy widok kafelka jest dostępny, i zapewnić alternatywne funkcje, gdy jest on niedostępny.You might want to include code that determines whether tile view is available, and provide alternate functionality when it is unavailable. Na przykład, jeśli używasz rysowania przez właściciela, aby dostosować wygląd elementów ListView w widoku kafelków, możesz chcieć użyć kodu rysowania odpowiedniego dla widoku dużych ikon w przypadku uruchamiania w systemach operacyjnych, które nie obsługują widoku kafelków.For example, when you use owner drawing to customize the appearance of ListView items in the tile view, you might want to use drawing code appropriate to the large icon view when running on operating systems that do not support the tile view.

Funkcja widok kafelków jest dostępna w tej samej bibliotece, która udostępnia funkcję motywów systemu operacyjnego.The tile view feature is provided by the same library that provides the operating system themes feature. Aby sprawdzić dostępność tej biblioteki, wywołaj metodę FeatureSupport.IsPresent(Object) Przeciążenie i przekaż wartość OSFeature.Themes.To check for the availability of this library, call the FeatureSupport.IsPresent(Object) method overload and pass in the OSFeature.Themes value.

Dotyczy

Zobacz też