ListView.View Egenskap

Definition

Hämtar eller anger hur objekt visas i kontrollen.

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

Egenskapsvärde

Ett av View värdena. Standardvärdet är LargeIcon.

Undantag

Det angivna värdet är inte ett av View värdena.

Exempel

I följande kodexempel skapas en ListView kontroll med tre ListViewItem angivna objekt och tre ListViewItem.ListViewSubItem objekt angivna för varje objekt. Exemplet skapar ColumnHeader också objekt för att visa underwebbplatserna i informationsvyn. Två ImageList objekt skapas också i kodexemplet för att tillhandahålla bilder för objekten ListViewItem . Dessa ImageList objekt läggs till i LargeImageList egenskaperna och SmallImageList . I exemplet används följande egenskaper för att skapa ListView kontrollen.

Det här exemplet kräver att du har lagt till koden i en Form och anropar metoden som skapades i exemplet från konstruktorn eller någon annan metod i formuläret. Exemplet kräver också att avbildningar med namnet MySmallImage1, MySmallImage2, MyLargeImage1och MyLargeImage2 finns i rotkatalogen för enhet 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

Kommentarer

Med View egenskapen kan du ange vilken typ av visning ListView som kontrollen använder för att visa objekt. Du kan ange att View egenskapen ska visa varje objekt med stora eller små ikoner eller visa objekt i en lodrät lista. Det rikaste alternativet är informationsvyn, som gör att du kan visa inte bara objekten utan även eventuella underwebbplatser som har angetts för varje objekt. Varje objekt visas i ett rutnät, där varje objekt visas lodrätt och underobjekten för varje objekt som visas i en kolumn, med kolumnrubriker. Informationsvyn är ett perfekt sätt att visa databasinformation för en användare. Med Windows XP och Windows Server 2003 kan du också visa objekt som paneler som balanserar grafisk och textbaserad information genom att visa en stor ikon tillsammans med underwebbplatsinformation som du väljer. Om du vill aktivera panelvyn måste programmet anropa Application.EnableVisualStyles metoden. Vyn liten bild visar varje objekt med en ikon och textinformation till höger om ikonen. Vyn stor bild visar varje objekt med en ikon och textinformation under ikonen. Storleken på ikonerna för bildlistan anges av ImageSize egenskapen för egenskaperna eller ImageListSmallImageList .LargeImageList

Note

Om du använder flera bildlistor för liten och stor ikonvy med en ListView kontroll bör du placera små och stora versioner av bilden på samma indexplats i respektive bildlista. När du växlar mellan vyer används indexplatsen för bilden i en lista för att hitta bilden i den andra listan, oavsett vilket nyckelvärde som angetts.

De flesta egenskaperna i ListView kontrollen påverkar hur de olika vyerna beter sig eller visas. Vissa egenskaper som påverkar objektens vyer är bara användbara när View egenskapen är inställd på ett visst värde, medan andra är användbara i alla vyer. Egenskaper som GridLines och FullRowSelect är till exempel bara användbara när View egenskapen är inställd på View.Details, medan MultiSelect egenskaperna och CheckBoxes är användbara i alla vyer.

I följande tabell visas några av ListView medlemmarna och de vyer som de är giltiga i.

ListView-medlem View
egenskapen Alignment SmallIcon eller LargeIcon
egenskapen AutoArrange SmallIcon eller LargeIcon
AutoResizeColumn metod Details
CheckBoxes Alla vyer utom Tile
egenskapen Columns Details eller Tile
DrawSubItem evenemang Details
FindItemWithText metod Details, List eller Tile
FindNearestItem metod SmallIcon eller LargeIcon
GetItemAt metod Details eller Tile
egenskapen Groups Alla vyer utom List
egenskapen HeaderStyle Details
egenskapen InsertionMark LargeIcon, SmallIcon eller Tile

Du kan använda View egenskapen för att tillhandahålla olika vyer av data i ditt program eller för att låsa en specifik vy för att utnyttja den vyns fördelar. Egenskapen är till exempel View ofta inställd View.Details på eftersom informationsvyn innehåller ett antal visningsalternativ som inte är tillgängliga i de andra vyerna.

Note

Om kontrollen ListView inte har några kolumnrubriker angivna och du anger View egenskapen till View.Detailsvisas ListView inga objekt i kontrollen. Om kontrollen ListView inte har angett några kolumnrubriker och du anger View egenskapen till View.Tilevisas ListView inga underwebbplatser i kontrollen.

Panelvyn visar varje objekt med en stor ikon till vänster och textinformation till höger. Textinformationen består av objektetiketten följt av underwebbplatser. Som standard visas endast den första underwebbplatsen, vilket motsvarar objektetiketten. Om du vill visa ytterligare underwebbplatser måste du lägga till ColumnHeader objekt i Columns samlingen. Varje underwebbplats i panelen motsvarar en kolumnrubrik. Om du vill styra vilka underwebbplatser som visas och i vilken ordning de visas måste du ange ListViewItem.ListViewSubItem.Name egenskapen för varje objekt och ColumnHeader.Name egenskapen för varje rubrik. Du kan sedan lägga till, ta bort och ordna om rubriker i Columns samlingen för att uppnå önskat resultat.

Om du vill styra storleken på panelerna i panelvyn anger du egenskapen TileSize . Detta är användbart för att förhindra radbrytning när undertexten är för lång för en enskild rad.

Ett exempel på panelvyn finns i egenskapen TileSize .

Note

Även om kolumner endast visas i informationsvyn visas inte underwebbplatser utan kolumnrubriker i varken informationsvyn eller panelvyn.

Panelvyn är endast tillgänglig på Windows XP och Windows Server 2003 när programmet anropar metoden Application.EnableVisualStyles. I tidigare operativsystem har all kod som är relaterad till panelvyn ingen effekt och ListView kontrollen visas i den stora ikonvyn. Det innebär att all kod som är beroende av panelvyn kanske inte fungerar korrekt.

Du kanske vill inkludera kod som avgör om panelvyn är tillgänglig och tillhandahålla alternativa funktioner när den inte är tillgänglig. När du till exempel använder ägarritning för att anpassa utseendet ListView på objekt i panelvyn kanske du vill använda ritningskod som är lämplig för den stora ikonvyn när du kör på operativsystem som inte stöder panelvyn.

Funktionen panelvy tillhandahålls av samma bibliotek som tillhandahåller operativsystemets temafunktion. Om du vill kontrollera tillgängligheten för det här biblioteket anropar FeatureSupport.IsPresent(Object) du metodens överlagring och skickar in OSFeature.Themes värdet.

Gäller för

Se även