項目のアイコンのイメージのインデックス位置、前景色、背景色、項目のフォント、およびサブ項目を表す文字列の配列を使用して、ListViewItem クラスの新しいインスタンスを初期化します。
名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文
'宣言
Public Sub New ( _
items As String(), _
imageIndex As Integer, _
foreColor As Color, _
backColor As Color, _
font As Font _
)
'使用
Dim items As String()
Dim imageIndex As Integer
Dim foreColor As Color
Dim backColor As Color
Dim font As Font
Dim instance As New ListViewItem(items, imageIndex, foreColor, backColor, font)
public ListViewItem (
string[] items,
int imageIndex,
Color foreColor,
Color backColor,
Font font
)
public:
ListViewItem (
array<String^>^ items,
int imageIndex,
Color foreColor,
Color backColor,
Font^ font
)
public ListViewItem (
String[] items,
int imageIndex,
Color foreColor,
Color backColor,
Font font
)
public function ListViewItem (
items : String[],
imageIndex : int,
foreColor : Color,
backColor : Color,
font : Font
)
パラメータ
- items
新しい項目のサブ項目を表す文字列の配列。
- foreColor
項目の前景色を表す Color。
- backColor
項目の背景色を表す Color。
- font
項目のテキストを表示するフォントを表す Font。
使用例
ListView コントロールの列がクリックされたときに手動で項目を並べ替える ListView コントロールが配置されたフォームを作成するコード例を次に示します。この例では、ListViewItem の比較を実行する System.Collections.IComparer インターフェイスを実装するクラスを ListViewItemComparer
という名前で定義します。また、ListViewItemComparer
のインスタンスを作成し、これを使用して ListView コントロールの ListViewItemSorter プロパティを設定します。ColumnClick イベント ハンドラでの Sort メソッド呼び出しでは、ListViewItemComparer
に定義されているメソッドを使用し、クリックされた列を基準に、項目の並べ替えを実行します。
Imports System
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 'New
' 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
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);
}
}
}
#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 );
}
package ListViewSortFormNamespace;
import System.*;
import System.Windows.Forms.*;
import System.Drawing.*;
import System.Collections.*;
public class ListViewSortForm extends 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.get_Yellow(), null);
ListViewItem listViewItem2 = new ListViewItem(new String[] { "Cherry",
"v", "g", "t" }, -1, Color.Empty, Color.get_Red(),
new Font("Microsoft Sans Serif", (float)8.25, FontStyle.Regular,
GraphicsUnit.Point, (ubyte)0));
ListViewItem listViewItem3 = new ListViewItem(new String[] { "Apple",
"h", "j", "n" }, -1, Color.Empty, Color.get_Lime(), null);
ListViewItem listViewItem4 = new ListViewItem(new String[] { "Pear",
"y", "u", "i" }, -1, Color.Empty, Color.FromArgb(192, 128, 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.set_Sorting(SortOrder.None);
// Disable automatic sorting to enable manual sorting.
this.listView1.set_View(View.Details);
// Add columns and set their text.
this.listView1.get_Columns().Add(new ColumnHeader());
this.listView1.get_Columns().get_Item(0).set_Text("Column 1");
this.listView1.get_Columns().get_Item(0).set_Width(100);
listView1.get_Columns().Add(new ColumnHeader());
listView1.get_Columns().get_Item(1).set_Text("Column 2");
listView1.get_Columns().Add(new ColumnHeader());
listView1.get_Columns().get_Item(2).set_Text("Column 3");
listView1.get_Columns().Add(new ColumnHeader());
listView1.get_Columns().get_Item(3).set_Text("Column 4");
// Suspend control logic until form is done configuring form.
this.SuspendLayout();
// Add Items to the ListView control.
this.listView1.get_Items().AddRange(new ListViewItem[] { listViewItem1,
listViewItem2, listViewItem3, listViewItem4 });
// Set the ___location and size of the ListView control.
this.listView1.set_Location(new Point(10, 10));
this.listView1.set_Name("listView1");
this.listView1.set_Size(new Size(300, 100));
this.listView1.set_TabIndex(0);
// Enable editing of the items in the ListView.
this.listView1.set_LabelEdit(true);
// Connect the ListView.ColumnClick event to the
// ColumnClick event handler.
this.listView1.add_ColumnClick(new ColumnClickEventHandler(ColumnClick));
// Initialize the form.
this.set_ClientSize(new Size(400, 400));
this.get_Controls().AddRange(new Control[] { this.listView1 });
this.set_Name("ListViewSortForm");
this.set_Text("Sorted ListView Control");
// Resume layout of the form.
this.ResumeLayout(false);
} //ListViewSortForm
// 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.set_ListViewItemSorter(
new ListViewItemComparer(e.get_Column()));
} //ColumnClick
/** @attribute System.STAThreadAttribute()
*/
public static void main(String[] args)
{
Application.Run(new ListViewSortForm());
} //main
} //ListViewSortForm
// Implements the manual sorting of items by columns.
class ListViewItemComparer implements IComparer
{
private int col;
public ListViewItemComparer()
{
col = 0;
} //ListViewItemComparer
public ListViewItemComparer(int column)
{
col = column;
} //ListViewItemComparer
public int Compare(Object x, Object y)
{
return String.Compare(
((ListViewItem)x).get_SubItems().get_Item(col).get_Text(),
((ListViewItem)y).get_SubItems().get_Item(col).get_Text());
} //Compare
} //ListViewItemComparer
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
参照
関連項目
ListViewItem クラス
ListViewItem メンバ
System.Windows.Forms 名前空間
ImageList クラス
Color
Font
ListView クラス