Aracılığıyla paylaş


ListView.ColumnHeaderCollection Sınıf

Tanım

Denetimdeki sütun üst bilgileri koleksiyonunu temsil eder ListView .

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
Devralma
ListView.ColumnHeaderCollection
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği, denetimdeki bir ListView sütuna ListView tıklandığında öğeleri el ile sıralayan bir denetim içeren bir form oluşturur. Örnek, karşılaştırmayı gerçekleştiren ListViewItem arabirimini uygulayan System.Collections.IComparer adlı ListViewItemComparer bir sınıf tanımlar. Örnek, öğesinin ListViewItemComparer bir örneğini oluşturur ve denetimin ListViewItemSorterListView özelliğini ayarlamak için bunu kullanır. Sort Olay işleyicisindeki ColumnClick yöntem çağrısı, tıklanan sütuna göre öğe sıralamasını gerçekleştirmek için içinde ListViewItemComparer tanımlanan yöntemleri kullanır.

#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

Açıklamalar

ListView.ColumnHeaderCollection Bir sınıf, özelliği olarak ayarlandığında Detailsdenetimde ListViewView görüntülenen sütun üst bilgilerini depolar. , ListView.ColumnHeaderCollection hem sütun için görüntülenecek metni tanımlayan nesneleri hem de sütunları görüntülerken sütun başlığının ListView denetimde nasıl görüntüleneceğini depolarColumnHeader. Bir ListView sütun görüntülendiğinde, öğeler ve alt öğeleri kendi sütunlarında görüntülenir. Hangi sütun alt öğesi verilerinin altında görüntüleneceğini belirtmek için sınıfına ListViewItem.ListViewSubItemCollection bakın.

Koleksiyona sütun üst bilgileri eklemenin çeşitli yolları vardır. yöntemi koleksiyona Add tek bir sütun üst bilgisi ekler. Koleksiyona bir dizi sütun üst bilgisi eklemek için bir nesne dizisi ColumnHeader oluşturur ve bunu yöntemine AddRange geçirirsiniz. Koleksiyondaki belirli bir konuma sütun üst bilgisi eklemek istiyorsanız yöntemini kullanabilirsiniz Insert . Sütun üst bilgilerini kaldırmak için, sütun başlığının Remove koleksiyonda RemoveAt nerede bulunduğunu biliyorsanız yöntemini veya yöntemini kullanabilirsiniz. yöntemi, Clear tek seferde tek bir sütun üst bilgisini kaldırmak için yöntemini kullanmak Remove yerine koleksiyondaki tüm sütun üst bilgilerini kaldırmanıza olanak tanır.

sütun üst bilgilerini ekleme ve kaldırma yöntemlerine ve özelliklerine ek olarak, ListView.ColumnHeaderCollection koleksiyondaki sütun üst bilgilerini bulmak için yöntemler de sağlar. yöntemi, Contains sütun üst bilgisinin koleksiyonun bir üyesi olup olmadığını belirlemenizi sağlar. Sütun başlığının koleksiyonda bulunduğunu bildiğinizde, sütun başlığının IndexOf koleksiyonda nerede bulunduğunu belirlemek için yöntemini kullanabilirsiniz.

Not

Beklenmeyen davranış, tüm sütunların birleşik genişliği 32.768 pikseli aştığında sonuçlanabilir.

Oluşturucular

ListView.ColumnHeaderCollection(ListView)

ListView.ColumnHeaderCollection sınıfının yeni bir örneğini başlatır.

Özellikler

Count

Topluluktaki öğe sayısını alır.

IsReadOnly

Topluluğun salt okunur olup olmadığını gösteren bir değer alır.

Item[Int32]

Koleksiyon içinde belirtilen dizinde sütun üst bilgisini alır.

Item[String]

Koleksiyondan belirtilen anahtarla sütun üst bilgisini alır.

Yöntemler

Add(ColumnHeader)

Var olan ColumnHeader bir öğeyi koleksiyona ekler.

Add(String)

Belirtilen metni içeren bir sütun oluşturur ve koleksiyona ekler.

Add(String, Int32)

Belirtilen metin ve genişliği içeren bir sütun oluşturur ve koleksiyona ekler.

Add(String, Int32, HorizontalAlignment)

Belirtilen metin, genişlik ve hizalama ayarlarıyla koleksiyona bir sütun başlığı ekler.

Add(String, String)

Belirtilen metin ve anahtara sahip bir sütun oluşturur ve koleksiyona ekler.

Add(String, String, Int32)

Belirtilen metin, anahtar ve genişliği içeren bir sütun oluşturur ve koleksiyona ekler.

Add(String, String, Int32, HorizontalAlignment, Int32)

Belirtilen anahtar, hizalanmış metin, genişlik ve görüntü dizinine sahip bir sütun oluşturur ve koleksiyona ekler.

Add(String, String, Int32, HorizontalAlignment, String)

Belirtilen anahtar, hizalanmış metin, genişlik ve görüntü anahtarına sahip bir sütun oluşturur ve koleksiyona ekler.

AddRange(ColumnHeader[])

Koleksiyona sütun üst bilgilerinden oluşan bir dizi ekler.

Clear()

Koleksiyondaki tüm sütun üst bilgilerini kaldırır.

Contains(ColumnHeader)

Belirtilen sütun başlığının koleksiyonda bulunup bulunmadığını belirler.

ContainsKey(String)

Belirtilen anahtara sahip bir sütunun koleksiyonda olup olmadığını belirler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetEnumerator()

Sütun üst bilgisi koleksiyonunda yineleme yapmak için kullanılacak bir numaralandırıcı döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IndexOf(ColumnHeader)

Belirtilen sütun üst bilgisinin koleksiyonunun içindeki dizini döndürür.

IndexOfKey(String)

Belirtilen anahtara sahip bir sütunun dizinini belirler.

Insert(Int32, ColumnHeader)

Belirtilen dizindeki koleksiyona var olan bir sütun üst bilgisini ekler.

Insert(Int32, String)

Belirtilen metinle yeni bir sütun başlığı oluşturur ve üst bilgiyi belirtilen dizindeki koleksiyona ekler.

Insert(Int32, String, Int32)

Belirtilen metin ve başlangıç genişliğiyle yeni bir sütun başlığı oluşturur ve üst bilgiyi belirtilen dizindeki koleksiyona ekler.

Insert(Int32, String, Int32, HorizontalAlignment)

Yeni bir sütun üst bilgisi oluşturur ve bunu belirtilen dizindeki koleksiyona ekler.

Insert(Int32, String, String)

Belirtilen metin ve anahtarla yeni bir sütun başlığı oluşturur ve üst bilgiyi belirtilen dizindeki koleksiyona ekler.

Insert(Int32, String, String, Int32)

Belirtilen metin, anahtar ve genişlikle yeni bir sütun başlığı oluşturur ve üst bilgiyi belirtilen dizindeki koleksiyona ekler.

Insert(Int32, String, String, Int32, HorizontalAlignment, Int32)

Belirtilen hizalanmış metin, anahtar, genişlik ve görüntü dizinine sahip yeni bir sütun başlığı oluşturur ve üst bilgiyi belirtilen dizindeki koleksiyona ekler.

Insert(Int32, String, String, Int32, HorizontalAlignment, String)

Belirtilen hizalanmış metin, anahtar, genişlik ve görüntü anahtarıyla yeni bir sütun başlığı oluşturur ve üst bilgiyi belirtilen dizindeki koleksiyona ekler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Remove(ColumnHeader)

Belirtilen sütun üst bilgisini koleksiyondan kaldırır.

RemoveAt(Int32)

Koleksiyon içinde belirtilen dizindeki sütun üst bilgisini kaldırır.

RemoveByKey(String)

Belirtilen anahtara sahip sütunu koleksiyondan kaldırır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

ICollection.CopyTo(Array, Int32)

ColumnHeader içindeki ListView.ColumnHeaderCollection nesneleri belirli bir dizi dizininden başlayarak bir diziye kopyalar.

ICollection.IsSynchronized

erişimin ListView.ColumnHeaderCollection eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

ICollection.SyncRoot

Denetim koleksiyonuna erişimi eşitlemek için kullanılabilecek bir nesnesi alır.

IList.Add(Object)

öğesine ListViewbir ColumnHeader ekler.

IList.Contains(Object)

Belirtilen sütun başlığının koleksiyonda bulunup bulunmadığını belirler.

IList.IndexOf(Object)

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

Belirtilen sütun üst bilgisinin koleksiyonunun içindeki dizini döndürür.

IList.Insert(Int32, Object)

Belirtilen dizindeki koleksiyona var olan bir sütun üst bilgisini ekler.

IList.IsFixedSize

değerinin sabit bir boyuta sahip olup olmadığını ListView.ColumnHeaderCollection belirten bir değer alır.

IList.Item[Int32]

Koleksiyon içinde belirtilen dizinde sütun üst bilgisini alır veya ayarlar.

IList.Remove(Object)

Belirtilen sütun üst bilgisini koleksiyondan kaldırır.

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır