Nyelv

ListView.View Tulajdonság

Definíció

Beolvashatja vagy beállíthatja, hogy az elemek hogyan jelenjenek meg a vezérlőben.

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

Tulajdonság értéke

Az egyik View érték. Az alapértelmezett érték a LargeIcon.

Kivételek

A megadott érték nem tartozik az View értékek közé.

Példák

Az alábbi példakód egy vezérlőt ListView hoz létre, amely három ListViewItem objektumot és három ListViewItem.ListViewSubItem objektumot határoz meg minden elemhez. A példa objektumokat is létrehoz ColumnHeader az alelemek részletes nézetben való megjelenítéséhez. A kód példában két ImageList objektum is létrejön, hogy képeket biztosítson az ListViewItem objektumokhoz. Ezek az ImageList objektumok hozzá lesznek adva a LargeImageList tulajdonságokhoz.SmallImageList A példa a következő tulajdonságokat használja a ListView vezérlő létrehozásához.

Ehhez a példához hozzá kell adnia a kódot egy Form olyan metódushoz, amely meghívja a példában létrehozott metódust a konstruktorból vagy az űrlap egy másik metódusából. A példához szükség van arra is, hogy a rendszerképek neve MySmallImage1, MySmallImage2, MyLargeImage1és MyLargeImage2 a C meghajtó gyökérkönyvtárában legyenek.

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

Megjegyzések

A View tulajdonság segítségével megadhatja, hogy a vezérlő milyen típusú megjelenítést ListView használ az elemek megjelenítéséhez. Beállíthatja, hogy a View tulajdonság minden elemet megjelenítsen nagy vagy kis ikonokkal, vagy megjelenítse az elemeket egy függőleges listában. A leggazdagabb lehetőség a részletek nézet, amely lehetővé teszi, hogy ne csak az elemeket, hanem az egyes elemekhez megadott alelemeket is megtekintse. Minden elem egy rácsban jelenik meg, az egyes elemek függőlegesen jelennek meg, az egyes elemek altörzsei pedig oszlopfejlécekkel. A részletek nézet tökéletes módja annak, hogy adatbázis-információkat jelenítsen meg egy felhasználó számára. A 2003-as Windows XP és Windows Server az elemeket csempékként is megjelenítheti, amelyek a grafikus és szöveges információkat egy nagy ikonnal és a választott részelemadatokkal egyensúlyba hozhatják. A csempenézet engedélyezéséhez az alkalmazásnak meg kell hívnia a metódust Application.EnableVisualStyles . A kis kép nézet minden elemet ikonnal és szöveges információkkal jelenít meg az ikontól jobbra. A nagyméretű kép nézet minden elemet ikonnal és szöveges információkkal jelenít meg az ikon alatt. A képlista ikonjainak méretét az ImageSize adott vagy tulajdonság tulajdonsága ImageListSmallImageListLargeImageList határozza meg.

Note

Ha több képlistát használ, kis és nagy ikonnézetben, vezérlővel ListView , akkor a kép kisebb és nagyobb verzióit ugyanabban az indexhelyen kell elhelyeznie a saját képlistáikban. A nézetek közötti váltáskor a rendszer az egyik listában lévő kép indexhelyét használja a rendszer a kép megkeresésére a másik listában, függetlenül a megadott kulcsértéktől.

A vezérlő legtöbb tulajdonsága befolyásolja a ListView különböző nézetek viselkedését vagy megjelenítését. Egyes tulajdonságok, amelyek befolyásolják az elemek nézeteit, csak akkor hasznosak, ha a View tulajdonság egy adott értékre van állítva, míg mások minden nézetben hasznosak. Például az olyan tulajdonságok, mint GridLines például a tulajdonságok, és FullRowSelect csak akkor hasznosak, ha a View tulajdonság értéke View.Details, míg a MultiSelectCheckBoxes tulajdonságok minden nézetben hasznosak.

Az alábbi táblázat néhány tagot ListView és azok érvényes nézeteit mutatja be.

ListView-tag View
Alignment ingatlan SmallIcon vagy LargeIcon
AutoArrange ingatlan SmallIcon vagy LargeIcon
AutoResizeColumn módszer Details
CheckBoxes Minden nézet, kivéve Tile
Columns ingatlan Details vagy Tile
DrawSubItem esemény Details
FindItemWithText módszer Details, List vagy Tile
FindNearestItem módszer SmallIcon vagy LargeIcon
GetItemAt módszer Details vagy Tile
Groups ingatlan Minden nézet, kivéve List
HeaderStyle ingatlan Details
InsertionMark ingatlan LargeIcon, SmallIcon vagy Tile

A tulajdonság használatával View különböző nézeteket biztosíthat az alkalmazásban lévő adatokról, vagy zárolhat egy adott nézetet a nézet előnyeinek kihasználásához. A tulajdonság például gyakran azért van beállítvaView, View.Details mert a részletek nézet számos megtekintési lehetőséget biztosít, amelyek nem érhetők el a többi nézetben.

Note

Ha a ListView vezérlőelemben nincs megadva oszlopfejléc, és a View tulajdonságot View.Detailsúgy állítja be, hogy a ListView vezérlőelem nem jelenít meg elemeket. Ha a ListView vezérlőelemhez nincs megadva oszlopfejléc, és a View tulajdonságot View.Tileúgy állítja be, hogy a ListView vezérlőelem nem jelenít meg alelemeket.

A csempenézet minden elemet egy nagy ikonnal jelenít meg a bal oldalon, a jobb oldalon pedig szöveges információkat. A szöveges információk az elemcímkéből és az alelemekből állnak. Alapértelmezés szerint csak az első részelem jelenik meg, amely megfelel az elem címkéjének. További alelemek megjelenítéséhez objektumokat kell hozzáadnia ColumnHeader a Columns gyűjteményhez. A csempe minden részhalmaza egy oszlopfejlécnek felel meg. Annak szabályozásához, hogy mely részhalmazok jelenjenek meg, és hogy milyen sorrendben jelenjenek meg, be kell állítania az ListViewItem.ListViewSubItem.Name egyes elemek tulajdonságát és az ColumnHeader.Name egyes fejlécek tulajdonságát. Ezután hozzáadhat, eltávolíthat és átrendezhet fejléceket a gyűjteményben a Columns kívánt eredmény eléréséhez.

A csempék méretének a csempenézetben való szabályozásához állítsa be a tulajdonságot TileSize . Ez akkor hasznos, ha megakadályozza a sortörést, ha a részösszeg szövege túl hosszú egyetlen sorhoz.

A csempenézetre példaként tekintse meg a tulajdonságot TileSize .

Note

Bár az oszlopok csak a részletek nézetben jelennek meg, az oszlopfejléc nélküli részhalmazok sem a részletek nézetben, sem a csempe nézetben nem jelennek meg.

A csempenézet csak Windows XP és 2003-Windows Server érhető el, amikor az alkalmazás meghívja a Application.EnableVisualStyles metódust. A korábbi operációs rendszereken a csempenézethez kapcsolódó kódoknak nincs hatása, és a ListView vezérlő a nagy ikon nézetben jelenik meg. Ennek eredményeképpen előfordulhat, hogy a csempenézettől függő kódok nem működnek megfelelően.

Érdemes lehet olyan kódot is tartalmaznia, amely meghatározza, hogy elérhető-e csempenézet, és alternatív funkciókat biztosít, ha az nem érhető el. Ha például tulajdonosi rajzot használ az elemek megjelenésének ListView testreszabásához a csempenézetben, érdemes lehet a nagyméretű ikonnézetnek megfelelő rajzkódot használni, ha olyan operációs rendszereken fut, amelyek nem támogatják a csempenézetet.

A csempenézet funkciót ugyanaz a tár biztosítja, amely az operációs rendszer témáinak funkcióját biztosítja. A kódtár rendelkezésre állásának ellenőrzéséhez hívja meg a metódus túlterhelését FeatureSupport.IsPresent(Object) , és adja meg az OSFeature.Themes értéket.

A következőre érvényes:

Lásd még