ListView.ColumnHeaderCollection Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt de verzameling kolomkoppen in een ListView besturingselement.
public: ref class ListView::ColumnHeaderCollection : System::Collections::IList
public class ListView.ColumnHeaderCollection : System.Collections.IList
[System.ComponentModel.ListBindable(false)]
public class ListView.ColumnHeaderCollection : System.Collections.IList
type ListView.ColumnHeaderCollection = class
interface IList
interface ICollection
interface IEnumerable
[<System.ComponentModel.ListBindable(false)>]
type ListView.ColumnHeaderCollection = class
interface IList
interface ICollection
interface IEnumerable
Public Class ListView.ColumnHeaderCollection
Implements IList
- Overname
-
ListView.ColumnHeaderCollection
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende codevoorbeeld wordt een formulier gemaakt dat een ListView besturingselement bevat dat items handmatig sorteert wanneer op een kolom in het ListView besturingselement wordt geklikt. In het voorbeeld wordt een klasse gedefinieerd ListViewItemComparer die de System.Collections.IComparer interface implementeert waarmee de ListViewItem vergelijking wordt uitgevoerd. In het voorbeeld wordt een exemplaar gemaakt van ListViewItemComparer en wordt deze gebruikt om de ListViewItemSorter eigenschap van het ListView besturingselement in te stellen. De Sort methode-aanroep in de ColumnClick gebeurtenis-handler gebruikt de methoden die zijn ListViewItemComparer gedefinieerd om het soort items uit te voeren, op basis van de kolom waarop wordt geklikt.
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::Collections;
// Implements the manual sorting of items by columns.
ref class ListViewItemComparer: public IComparer
{
private:
int col;
public:
ListViewItemComparer()
{
col = 0;
}
ListViewItemComparer( int column )
{
col = column;
}
virtual int Compare( Object^ x, Object^ y )
{
return String::Compare( (dynamic_cast<ListViewItem^>(x))->SubItems[ col ]->Text,
(dynamic_cast<ListViewItem^>(y))->SubItems[ col ]->Text );
}
};
public ref class ListViewSortForm: public Form
{
private:
ListView^ listView1;
public:
ListViewSortForm()
{
// Create ListView items to add to the control.
array<String^>^temp0 = {"Banana","a","b","c"};
ListViewItem^ listViewItem1 = gcnew ListViewItem( temp0,-1,Color::Empty,Color::Yellow,nullptr );
array<String^>^temp1 = {"Cherry","v","g","t"};
ListViewItem^ listViewItem2 = gcnew ListViewItem( temp1,-1,Color::Empty,Color::Red,
gcnew System::Drawing::Font( "Microsoft Sans Serif",8.25F,FontStyle::Regular,GraphicsUnit::Point,0 ) );
array<String^>^temp2 = {"Apple","h","j","n"};
ListViewItem^ listViewItem3 = gcnew ListViewItem( temp2,-1,Color::Empty,Color::Lime,nullptr );
array<String^>^temp3 = {"Pear","y","u","i"};
ListViewItem^ listViewItem4 = gcnew ListViewItem( temp3,-1,Color::Empty,Color::FromArgb( 192, 128, 156 ),nullptr );
//Initialize the ListView control and add columns to it.
this->listView1 = gcnew ListView;
// Set the initial sorting type for the ListView.
this->listView1->Sorting = SortOrder::None;
// Disable automatic sorting to enable manual sorting.
this->listView1->View = View::Details;
// Add columns and set their text.
this->listView1->Columns->Add( gcnew ColumnHeader );
this->listView1->Columns[ 0 ]->Text = "Column 1";
this->listView1->Columns[ 0 ]->Width = 100;
listView1->Columns->Add( gcnew ColumnHeader );
listView1->Columns[ 1 ]->Text = "Column 2";
listView1->Columns->Add( gcnew ColumnHeader );
listView1->Columns[ 2 ]->Text = "Column 3";
listView1->Columns->Add( gcnew ColumnHeader );
listView1->Columns[ 3 ]->Text = "Column 4";
// Suspend control logic until form is done configuring form.
this->SuspendLayout();
// Add Items to the ListView control.
array<ListViewItem^>^temp4 = {listViewItem1,listViewItem2,listViewItem3,listViewItem4};
this->listView1->Items->AddRange( temp4 );
// Set the location and size of the ListView control.
this->listView1->Location = Point(10,10);
this->listView1->Name = "listView1";
this->listView1->Size = System::Drawing::Size( 300, 100 );
this->listView1->TabIndex = 0;
// Enable editing of the items in the ListView.
this->listView1->LabelEdit = true;
// Connect the ListView::ColumnClick event to the ColumnClick event handler.
this->listView1->ColumnClick += gcnew ColumnClickEventHandler( this, &ListViewSortForm::ColumnClick );
// Initialize the form.
this->ClientSize = System::Drawing::Size( 400, 400 );
array<Control^>^temp5 = {this->listView1};
this->Controls->AddRange( temp5 );
this->Name = "ListViewSortForm";
this->Text = "Sorted ListView Control";
// Resume lay[Out] of* the form.
this->ResumeLayout( false );
}
private:
// ColumnClick event handler.
void ColumnClick( Object^ /*o*/, ColumnClickEventArgs^ e )
{
// Set the ListViewItemSorter property to a new ListViewItemComparer
// object. Setting this property immediately sorts the
// ListView using the ListViewItemComparer object.
this->listView1->ListViewItemSorter = gcnew ListViewItemComparer( e->Column );
}
};
[System::STAThreadAttribute]
int main()
{
Application::Run( gcnew ListViewSortForm );
}
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Collections;
namespace ListViewSortFormNamespace
{
public class ListViewSortForm : Form
{
private ListView listView1;
public ListViewSortForm()
{
// Create ListView items to add to the control.
ListViewItem listViewItem1 = new ListViewItem(new string[] {"Banana","a","b","c"}, -1, Color.Empty, Color.Yellow, null);
ListViewItem listViewItem2 = new ListViewItem(new string[] {"Cherry","v","g","t"}, -1, Color.Empty, Color.Red, new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((System.Byte)(0))));
ListViewItem listViewItem3 = new ListViewItem(new string[] {"Apple","h","j","n"}, -1, Color.Empty, Color.Lime, null);
ListViewItem listViewItem4 = new ListViewItem(new string[] {"Pear","y","u","i"}, -1, Color.Empty, Color.FromArgb(((System.Byte)(192)), ((System.Byte)(128)), ((System.Byte)(156))), null);
//Initialize the ListView control and add columns to it.
this.listView1 = new ListView();
// Set the initial sorting type for the ListView.
this.listView1.Sorting = SortOrder.None;
// Disable automatic sorting to enable manual sorting.
this.listView1.View = View.Details;
// Add columns and set their text.
this.listView1.Columns.Add(new ColumnHeader());
this.listView1.Columns[0].Text = "Column 1";
this.listView1.Columns[0].Width = 100;
listView1.Columns.Add(new ColumnHeader());
listView1.Columns[1].Text = "Column 2";
listView1.Columns.Add(new ColumnHeader());
listView1.Columns[2].Text = "Column 3";
listView1.Columns.Add(new ColumnHeader());
listView1.Columns[3].Text = "Column 4";
// Suspend control logic until form is done configuring form.
this.SuspendLayout();
// Add Items to the ListView control.
this.listView1.Items.AddRange(new ListViewItem[] {listViewItem1,
listViewItem2,
listViewItem3,
listViewItem4});
// Set the location and size of the ListView control.
this.listView1.Location = new Point(10, 10);
this.listView1.Name = "listView1";
this.listView1.Size = new Size(300, 100);
this.listView1.TabIndex = 0;
// Enable editing of the items in the ListView.
this.listView1.LabelEdit = true;
// Connect the ListView.ColumnClick event to the ColumnClick event handler.
this.listView1.ColumnClick += new ColumnClickEventHandler(ColumnClick);
// Initialize the form.
this.ClientSize = new Size(400, 400);
this.Controls.AddRange(new Control[] {this.listView1});
this.Name = "ListViewSortForm";
this.Text = "Sorted ListView Control";
// Resume layout of the form.
this.ResumeLayout(false);
}
// ColumnClick event handler.
private void ColumnClick(object o, ColumnClickEventArgs e)
{
// Set the ListViewItemSorter property to a new ListViewItemComparer
// object. Setting this property immediately sorts the
// ListView using the ListViewItemComparer object.
this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column);
}
[System.STAThreadAttribute()]
public static void Main()
{
Application.Run(new ListViewSortForm());
}
}
// Implements the manual sorting of items by columns.
class ListViewItemComparer : IComparer
{
private int col;
public ListViewItemComparer()
{
col = 0;
}
public ListViewItemComparer(int column)
{
col = column;
}
public int Compare(object x, object y)
{
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
}
}
}
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Collections
Namespace ListViewSortFormNamespace
Public Class ListViewSortForm
Inherits Form
Private listView1 As ListView
Public Sub New()
' Create ListView items to add to the control.
Dim listViewItem1 As New ListViewItem(New String() {"Banana", "a", "b", "c"}, -1, Color.Empty, Color.Yellow, Nothing)
Dim listViewItem2 As New ListViewItem(New String() {"Cherry", "v", "g", "t"}, -1, Color.Empty, Color.Red, New Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, CType(0, System.Byte)))
Dim listViewItem3 As New ListViewItem(New String() {"Apple", "h", "j", "n"}, -1, Color.Empty, Color.Lime, Nothing)
Dim listViewItem4 As New ListViewItem(New String() {"Pear", "y", "u", "i"}, -1, Color.Empty, Color.FromArgb(CType(192, System.Byte), CType(128, System.Byte), CType(156, System.Byte)), Nothing)
'Initialize the ListView control and add columns to it.
Me.listView1 = New ListView
' Set the initial sorting type for the ListView.
Me.listView1.Sorting = SortOrder.None
' Disable automatic sorting to enable manual sorting.
Me.listView1.View = View.Details
' Add columns and set their text.
Me.listView1.Columns.Add(New ColumnHeader)
Me.listView1.Columns(0).Text = "Column 1"
Me.listView1.Columns(0).Width = 100
listView1.Columns.Add(New ColumnHeader)
listView1.Columns(1).Text = "Column 2"
listView1.Columns.Add(New ColumnHeader)
listView1.Columns(2).Text = "Column 3"
listView1.Columns.Add(New ColumnHeader)
listView1.Columns(3).Text = "Column 4"
' Suspend control logic until form is done configuring form.
Me.SuspendLayout()
' Add Items to the ListView control.
Me.listView1.Items.AddRange(New ListViewItem() {listViewItem1, listViewItem2, listViewItem3, listViewItem4})
' Set the location and size of the ListView control.
Me.listView1.Location = New Point(10, 10)
Me.listView1.Name = "listView1"
Me.listView1.Size = New Size(300, 100)
Me.listView1.TabIndex = 0
' Enable editing of the items in the ListView.
Me.listView1.LabelEdit = True
' Connect the ListView.ColumnClick event to the ColumnClick event handler.
AddHandler Me.listView1.ColumnClick, AddressOf ColumnClick
' Initialize the form.
Me.ClientSize = New Size(400, 400)
Me.Controls.AddRange(New Control() {Me.listView1})
Me.Name = "ListViewSortForm"
Me.Text = "Sorted ListView Control"
' Resume layout of the form.
Me.ResumeLayout(False)
End Sub
' ColumnClick event handler.
Private Sub ColumnClick(ByVal o As Object, ByVal e As ColumnClickEventArgs)
' Set the ListViewItemSorter property to a new ListViewItemComparer
' object. Setting this property immediately sorts the
' ListView using the ListViewItemComparer object.
Me.listView1.ListViewItemSorter = New ListViewItemComparer(e.Column)
End Sub
End Class
' Implements the manual sorting of items by columns.
Class ListViewItemComparer
Implements IComparer
Private col As Integer
Public Sub New()
col = 0
End Sub
Public Sub New(ByVal column As Integer)
col = column
End Sub
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _
Implements IComparer.Compare
Return [String].Compare(CType(x, ListViewItem).SubItems(col).Text, CType(y, ListViewItem).SubItems(col).Text)
End Function
End Class
End Namespace
Opmerkingen
In een ListView.ColumnHeaderCollection klasse worden de kolomkoppen opgeslagen die worden weergegeven in het ListView besturingselement wanneer de View eigenschap is ingesteld op Details. In ListView.ColumnHeaderCollection het besturingselement worden ColumnHeader objecten opgeslagen die de tekst definiëren die moet worden weergegeven voor een kolom en hoe de kolomkop wordt weergegeven in het besturingselement bij het ListView weergeven van kolommen. Wanneer kolommen ListView worden weergegeven, worden de items en de bijbehorende subitems weergegeven in hun eigen kolommen. Als u wilt opgeven onder welke kolommen subitemgegevens worden weergegeven, raadpleegt u de ListViewItem.ListViewSubItemCollection klasse.
Er zijn verschillende manieren om kolomkoppen toe te voegen aan de verzameling. Met Add de methode wordt één kolomkop aan de verzameling toegevoegd. Als u een aantal kolomkoppen aan de verzameling wilt toevoegen, maakt u een matrix met ColumnHeader objecten en geeft u deze door aan de AddRange methode. Als u een kolomkop wilt invoegen op een specifieke locatie in de verzameling, kunt u de Insert methode gebruiken. Als u kolomkoppen wilt verwijderen, kunt u de Remove methode of de RemoveAt methode gebruiken als u weet waar de kolomkop zich in de verzameling bevindt. Met Clear de methode kunt u alle kolomkoppen uit de verzameling verwijderen in plaats van de Remove methode te gebruiken om één kolomkop tegelijk te verwijderen.
Naast methoden en eigenschappen voor het toevoegen en verwijderen van kolomkoppen, biedt de ListView.ColumnHeaderCollection functie ook methoden voor het zoeken van kolomkoppen in de verzameling. Met de Contains methode kunt u bepalen of een kolomkop lid is van de verzameling. Zodra u weet dat de kolomkop zich in de verzameling bevindt, kunt u de IndexOf methode gebruiken om te bepalen waar de kolomkop zich in de verzameling bevindt.
Note
Onverwacht gedrag kan resulteren wanneer de gecombineerde breedte van alle kolommen groter is dan 32.768 pixels.
Constructors
| Name | Description |
|---|---|
| ListView.ColumnHeaderCollection(ListView) |
Initialiseert een nieuw exemplaar van de ListView.ColumnHeaderCollection klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Count |
Hiermee haalt u het aantal items in de verzameling op. |
| IsReadOnly |
Hiermee wordt een waarde opgehaald die aangeeft of de verzameling het kenmerk Alleen-lezen heeft. |
| Item[Int32] |
Hiermee haalt u de kolomkop op bij de opgegeven index in de verzameling. |
| Item[String] |
Hiermee haalt u de kolomkop op met de opgegeven sleutel uit de verzameling. |
Methoden
| Name | Description |
|---|---|
| Add(ColumnHeader) |
Voegt een bestaande ColumnHeader aan de verzameling toe. |
| Add(String, Int32, HorizontalAlignment) |
Hiermee voegt u een kolomkop toe aan de verzameling met opgegeven instellingen voor tekst, breedte en uitlijning. |
| Add(String, Int32) |
Hiermee maakt en voegt u een kolom toe met de opgegeven tekst en breedte aan de verzameling. |
| Add(String, String, Int32, HorizontalAlignment, Int32) |
Hiermee maakt en voegt u een kolom toe met de opgegeven sleutel, uitgelijnde tekst, breedte en afbeeldingsindex aan de verzameling. |
| Add(String, String, Int32, HorizontalAlignment, String) |
Hiermee maakt u een kolom met de opgegeven sleutel, uitgelijnde tekst, breedte en afbeeldingssleutel aan de verzameling. |
| Add(String, String, Int32) |
Hiermee maakt en voegt u een kolom toe met de opgegeven tekst, sleutel en breedte aan de verzameling. |
| Add(String, String) |
Hiermee maakt en voegt u een kolom toe met de opgegeven tekst en sleutel aan de verzameling. |
| Add(String) |
Hiermee maakt en voegt u een kolom toe met de opgegeven tekst aan de verzameling. |
| AddRange(ColumnHeader[]) |
Voegt een matrix met kolomkoppen toe aan de verzameling. |
| Clear() |
Hiermee verwijdert u alle kolomkoppen uit de verzameling. |
| Contains(ColumnHeader) |
Bepaalt of de opgegeven kolomkop zich in de verzameling bevindt. |
| ContainsKey(String) |
Bepaalt of een kolom met de opgegeven sleutel zich in de verzameling bevindt. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetEnumerator() |
Retourneert een enumerator die moet worden gebruikt om de kolomkopverzameling te doorlopen. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IndexOf(ColumnHeader) |
Retourneert de index in de verzameling van de opgegeven kolomkop. |
| IndexOfKey(String) |
Bepaalt de index voor een kolom met de opgegeven sleutel. |
| Insert(Int32, ColumnHeader) |
Hiermee voegt u een bestaande kolomkop toe aan de verzameling op de opgegeven index. |
| Insert(Int32, String, Int32, HorizontalAlignment) |
Hiermee maakt u een nieuwe kolomkop en voegt u deze in de verzameling in de opgegeven index in. |
| Insert(Int32, String, Int32) |
Hiermee maakt u een nieuwe kolomkop met de opgegeven tekst en de initiële breedte en voegt u de koptekst in de verzameling in de opgegeven index in. |
| Insert(Int32, String, String, Int32, HorizontalAlignment, Int32) |
Hiermee maakt u een nieuwe kolomkop met de opgegeven uitgelijnde tekst, sleutel, breedte en afbeeldingsindex en voegt u de koptekst in de verzameling in de opgegeven index in. |
| Insert(Int32, String, String, Int32, HorizontalAlignment, String) |
Hiermee maakt u een nieuwe kolomkop met de opgegeven uitgelijnde tekst, sleutel, breedte en afbeeldingssleutel en voegt u de koptekst in de verzameling in de opgegeven index in. |
| Insert(Int32, String, String, Int32) |
Hiermee maakt u een nieuwe kolomkop met de opgegeven tekst, sleutel en breedte en voegt u de koptekst in de verzameling in de opgegeven index in. |
| Insert(Int32, String, String) |
Hiermee maakt u een nieuwe kolomkop met de opgegeven tekst en sleutel en voegt u de koptekst in de verzameling in de opgegeven index in. |
| Insert(Int32, String) |
Hiermee maakt u een nieuwe kolomkop met de opgegeven tekst en voegt u de koptekst in de verzameling in de opgegeven index in. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| Remove(ColumnHeader) |
Hiermee verwijdert u de opgegeven kolomkop uit de verzameling. |
| RemoveAt(Int32) |
Hiermee verwijdert u de kolomkop in de opgegeven index in de verzameling. |
| RemoveByKey(String) |
Hiermee verwijdert u de kolom met de opgegeven sleutel uit de verzameling. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Kopieert de ColumnHeader objecten in de ListView.ColumnHeaderCollection naar een matrix, beginnend bij een bepaalde matrixindex. |
| ICollection.IsSynchronized |
Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot de ListView.ColumnHeaderCollection synchronisatie is gesynchroniseerd (thread safe). |
| ICollection.SyncRoot |
Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot de verzameling besturingselementen te synchroniseren. |
| IList.Add(Object) |
Voegt een ColumnHeader toe aan de ListView. |
| IList.Contains(Object) |
Bepaalt of de opgegeven kolomkop zich in de verzameling bevindt. |
| IList.IndexOf(Object) |
Deze API ondersteunt de productinfrastructuur en is niet bedoeld om rechtstreeks vanuit de code te gebruiken. Retourneert de index in de verzameling van de opgegeven kolomkop. |
| IList.Insert(Int32, Object) |
Hiermee voegt u een bestaande kolomkop toe aan de verzameling op de opgegeven index. |
| IList.IsFixedSize |
Hiermee wordt een waarde opgehaald die aangeeft of de grootte van een ListView.ColumnHeaderCollection vaste grootte is. |
| IList.Item[Int32] |
Hiermee haalt u de kolomkop op de opgegeven index in de verzameling op of stelt u deze in. |
| IList.Remove(Object) |
Hiermee verwijdert u de opgegeven kolomkop uit de verzameling. |
Extensiemethoden
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Hiermee schakelt u parallelle uitvoering van een query in. |
| AsQueryable(IEnumerable) |
Converteert een IEnumerable naar een IQueryable. |
| Cast<TResult>(IEnumerable) |
Cast de elementen van een IEnumerable naar het opgegeven type. |
| OfType<TResult>(IEnumerable) |
Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type. |