ListView.ColumnHeaderCollection Klas

Definitie

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.

Van toepassing op