ListView.View Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia sposób wyświetlania elementów w kontrolce.
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
View Jedna z wartości. Wartość domyślna to LargeIcon.
Wyjątki
Określona wartość nie jest jedną z View wartości.
Przykłady
Poniższy przykład kodu tworzy kontrolkę ListView z trzema ListViewItem określonymi obiektami i trzema ListViewItem.ListViewSubItem obiektami określonymi dla każdego elementu. W przykładzie są również tworzone ColumnHeader obiekty do wyświetlania podwitemów w widoku szczegółów. Dwa ImageList obiekty są również tworzone w przykładzie kodu w celu udostępnienia obrazów dla ListViewItem obiektów. Te ImageList obiekty są dodawane do LargeImageList właściwości i SmallImageList . W przykładzie użyto następujących właściwości podczas tworzenia kontrolki ListView .
Ten przykład wymaga dodania kodu do obiektu Form i wywołania metody utworzonej w przykładzie z konstruktora lub innej metody w formularzu. Przykład wymaga również, aby obrazy o nazwie MySmallImage1
, MySmallImage2
, MyLargeImage1
i MyLargeImage2
znajdowały się w katalogu głównym dysku 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 wyświetlania ListView kontrolek używanych do wyświetlania elementów. Możesz ustawić View właściwość tak, aby wyświetlała każdy element z dużymi lub małymi ikonami albo wyświetlać elementy na liście pionowej. Najbogatszą opcją jest widok szczegółów, który umożliwia wyświetlanie nie tylko elementów, ale także wszystkich elementów podrzędnych określonych dla każdego elementu. Każdy element jest wyświetlany w siatce, z każdym elementem wymienionym w pionie i podwitłami dla każdego elementu wyświetlanego w kolumnie z nagłówkami kolumn. Widok szczegółów to doskonały sposób wyświetlania informacji o bazie danych użytkownikowi. W systemach Windows XP i Windows Server 2003 można również wyświetlać elementy jako kafelki, które równoważą informacje graficzne i tekstowe, wyświetlając dużą ikonę wraz z wybranymi informacjami o subitem. Aby włączyć widok kafelków, aplikacja musi wywołać metodę Application.EnableVisualStyles . Widok małego obrazu wyświetla każdy element z ikoną i informacjami tekstowymi po prawej stronie ikony. Widok dużego obrazu wyświetla każdy element z ikoną i tekstowymi informacjami poniżej ikony. Rozmiar ikon listy obrazów jest określany przez ImageSize właściwość ImageList właściwości właściwości SmallImageList lub LargeImageList .
Uwaga
Jeśli używasz wielu list obrazów, w przypadku małego i dużego widoku 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. 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 określonej wartości klucza.
Większość właściwości w kontrolce ListView wpływa na sposób działania różnych widoków lub ich wyświetlania. Niektóre właściwości wpływające na widoki elementów są przydatne tylko wtedy, gdy View właściwość jest ustawiona na określoną wartość, podczas gdy inne są przydatne we wszystkich widokach. Na przykład właściwości, takie jak GridLines i FullRowSelect , są przydatne tylko wtedy, gdy View właściwość jest ustawiona na View.Details, podczas gdy MultiSelect właściwości i CheckBoxes są przydatne we wszystkich widokach.
W poniższej tabeli przedstawiono niektóre ListView elementy członkowskie i widoki, w których są prawidłowe.
Element członkowski obiektu ListView | Widok |
---|---|
Alignment Właściwość | SmallIcon lub LargeIcon |
AutoArrange Właściwość | SmallIcon lub LargeIcon |
Metoda AutoResizeColumn | Details |
CheckBoxes | Wszystkie widoki z wyjątkiem Tile |
Columns Właściwość | Details lub Tile |
DrawSubItem Zdarzenie | Details |
Metoda FindItemWithText | Details, Listlub Tile |
Metoda FindNearestItem | SmallIcon lub LargeIcon |
Metoda GetItemAt | Details lub Tile |
Groups Właściwość | Wszystkie widoki z wyjątkiem List |
HeaderStyle Właściwość | Details |
InsertionMark Właściwość | LargeIcon, SmallIconlub Tile |
Właściwość umożliwia View udostępnianie różnych widoków danych w aplikacji lub blokowanie określonego widoku w celu korzystania z korzyści tego widoku. Na przykład właściwość jest często ustawiana na View.Details , View ponieważ widok szczegółów zawiera wiele opcji wyświetlania, które nie są dostępne w innych widokach.
Uwaga
Jeśli kontrolka ListView nie ma żadnych określonych nagłówków kolumn i ustawisz View właściwość na View.Details, kontrolka ListView nie będzie wyświetlać żadnych elementów. Jeśli kontrolka ListView nie ma żadnych określonych nagłówków kolumn i ustawisz View właściwość na View.Tile, kontrolka ListView nie będzie wyświetlać żadnych podzbień.
Widok kafelka wyświetla każdy element z dużą ikoną po lewej stronie i tekstowymi informacjami po prawej stronie. Informacje tekstowe składają się z etykiety elementu, po której następują elementy podrzędne. Domyślnie wyświetlany jest tylko pierwszy element podrzędny, który odpowiada etykiecie elementu. Aby wyświetlić dodatkowe elementy podrzędne, należy dodać ColumnHeader obiekty do kolekcji Columns . Każdy element podrzędny na kafelku odpowiada nagłówkowi kolumny. Aby kontrolować, które elementy podrzędne są wyświetlane i kolejność ich wyświetlania, należy ustawić ListViewItem.ListViewSubItem.Name właściwość dla każdego elementu i ColumnHeader.Name właściwość dla każdego nagłówka. Następnie można dodawać, usuwać i ponownie rozmieszczać nagłówki w Columns kolekcji, aby osiągnąć pożądany wynik.
Aby kontrolować rozmiar kafelków w widoku kafelka, ustaw TileSize właściwość . Jest to przydatne, aby zapobiec zawijaniu wierszy, gdy tekst subitem jest zbyt długi dla pojedynczego wiersza.
Aby zapoznać się z przykładem widoku kafelka, zobacz TileSize właściwość .
Uwaga
Mimo że kolumny są wyświetlane tylko w widoku szczegółów, poditemy bez nagłówków kolumn nie będą wyświetlane w widoku szczegółów lub widoku kafelka.
Widok kafelka jest dostępny tylko w systemach Windows XP i Windows Server 2003, gdy aplikacja wywołuje metodę Application.EnableVisualStyles . We wcześniejszych systemach operacyjnych żaden kod związany z widokiem kafelka nie ma wpływu, a kontrolka ListView jest wyświetlana w widoku dużej ikony. W związku z tym każdy kod, który zależy od widoku kafelka, może nie działać poprawnie.
Warto dołączyć kod, który określa, czy widok kafelka jest dostępny, i udostępnić alternatywne funkcje, gdy jest niedostępny. Jeśli na przykład używasz rysunku właściciela do dostosowywania wyglądu ListView elementów w widoku kafelka, możesz użyć kodu rysunku odpowiedniego dla dużego widoku ikon podczas uruchamiania w systemach operacyjnych, które nie obsługują widoku kafelka.
Funkcja widoku kafelka jest udostępniana przez tę samą bibliotekę, która udostępnia funkcję motywów systemu operacyjnego. Aby sprawdzić dostępność tej biblioteki, wywołaj FeatureSupport.IsPresent(Object) przeciążenie metody i przekaż OSFeature.Themes wartość .