ListView.ColumnHeaderCollection Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 arabirimi 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 türü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
Bir ListView.ColumnHeaderCollection sınıf, özelliği olarak ayarlandığında Detailsdenetimde ListViewView görüntülenen sütun üst bilgilerini depolar. , ListView.ColumnHeaderCollection sütun için görüntülenecek metni tanımlayan nesneleri ve 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 üst bilgisinin Remove koleksiyonda nerede bulunduğunu biliyorsanız yöntemini veya RemoveAt 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.
Uyarı
Tüm sütunların birleşik genişliği 32.768 pikseli aştığında beklenmeyen davranışlar oluşabilir.
Oluşturucular
| Name | Description |
|---|---|
| ListView.ColumnHeaderCollection(ListView) |
ListView.ColumnHeaderCollection sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| Count |
Koleksiyondaki öğe sayısını alır. |
| IsReadOnly |
Koleksiyonun salt okunur olup olmadığını belirten bir değer alır. |
| Item[Int32] |
Koleksiyon içinde belirtilen dizinde sütun üst bilgisini alır. |
| Item[String] |
Koleksiyondan belirtilen anahtara sahip sütun üst bilgisini alır. |
Yöntemler
| Name | Description |
|---|---|
| Add(ColumnHeader) |
Koleksiyona var olan ColumnHeader bir ekler. |
| Add(String, Int32, HorizontalAlignment) |
Belirtilen metin, genişlik ve hizalama ayarlarıyla koleksiyona bir sütun üst bilgisi ekler. |
| Add(String, Int32) |
Belirtilen metin ve genişliğe sahip 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. |
| Add(String, String, Int32) |
Belirtilen metin, anahtar ve genişliği içeren bir sütun oluşturur ve koleksiyona ekler. |
| Add(String, String) |
Belirtilen metin ve anahtarı içeren bir sütun oluşturur ve koleksiyona ekler. |
| Add(String) |
Belirtilen metni içeren bir sütun oluşturur ve koleksiyona ekler. |
| AddRange(ColumnHeader[]) |
Koleksiyona bir sütun üst bilgisi dizisi 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 bulunup bulunmadığı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 yinelemek 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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| IndexOf(ColumnHeader) |
Belirtilen sütun üst bilgisinin koleksiyonundaki 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, Int32, HorizontalAlignment) |
Yeni bir sütun üst bilgisi oluşturur ve belirtilen dizindeki koleksiyona ekler. |
| Insert(Int32, String, Int32) |
Belirtilen metin ve başlangıç genişliğine sahip 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ü diziniyle yeni bir sütun üst bilgisi 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 üst bilgisi 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) |
Belirtilen metin ve anahtarla yeni bir sütun başlığı oluşturur ve üst bilgiyi belirtilen dizindeki koleksiyona ekler. |
| Insert(Int32, String) |
Belirtilen metinle yeni bir sütun başlığı oluşturur ve üst bilgiyi belirtilen dizindeki koleksiyona ekler. |
| MemberwiseClone() |
Geçerli Objectbasit 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 bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
ColumnHeader içindeki ListView.ColumnHeaderCollection nesneleri belirli bir dizi dizininden başlayarak bir diziye kopyalar. |
| ICollection.IsSynchronized |
'a ListView.ColumnHeaderCollection erişimin 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 nesne alır. |
| IList.Add(Object) |
ColumnHeader'e ListView 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 koleksiyonundaki 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 başlığını alır veya ayarlar. |
| IList.Remove(Object) |
Belirtilen sütun üst bilgisini koleksiyondan kaldırır. |
Uzantı Metotları
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Sorgunun paralelleştirilmesini etkinleştirir. |
| AsQueryable(IEnumerable) |
bir IEnumerableIQueryabledönüştürür. |
| Cast<TResult>(IEnumerable) |
Bir IEnumerable öğelerini belirtilen türe yayınlar. |
| OfType<TResult>(IEnumerable) |
Bir IEnumerable öğelerini belirtilen türe göre filtreler. |