[Tips][ListView] 項目を追加する

スポンサーリンク

ListView コントロールに項目を追加するには、ListViewItemクラスを使用します。

項目のテキストを設定するには Textプロパティを使用します。

ただし、Viewプロパティの値(ListViewの表示方法)によっては1つの項目に複数のテキストを表示させることができるため、Textプロパティだけでは設定することが出来ません。

そこで、2つ目移行の項目の設定は SubItems プロパティを使用します。

“SubItems”は文字通り、ある項目に対するサブ項目を表すものであり、ViewプロパティがDetailsに設定されている場合は2列目,3列目…のテキストを設定することができます。

下記はListViewItemクラスで主に使用されるプロパティとメソッドです。

プロパティ/メソッド 説明
Text 項目のテキスト
ImageIndex 項目に表示するアイコンを設定する。

ListViewにImageListが設定されている場合に有効。

SubItems.Add サブ項目を追加する。

下記は、ListViewに項目を追加する例です。

ListViewに1つの項目(サブ項目を含む)を追加しています。Viewプロパティ(表示方法)の値によってサブ項目が表示されるかどうかが変わることに注意してください。

VBの例

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    '詳細表示にする
    ListView1.View = View.Details

    '列を追加する(列に表示する文字列、幅、列に表示する文字の配置位置)
    ListView1.Columns.Add("名称", 50, HorizontalAlignment.Left)
    ListView1.Columns.Add("読み", 80, HorizontalAlignment.Left)
    ListView1.Columns.Add("初リリース", 120, HorizontalAlignment.Left)

    '追加する項目の設定
    Dim itemx As New ListViewItem
    itemx.Text = "VB"                '1列目に表示するテキスト
    itemx.ImageIndex = 0             'イメージのインデックス番号
    itemx.SubItems.Add("ぶいびー")    '2列目に表示するテキスト
    itemx.SubItems.Add("1991年")     '3列目に表示するテキスト

    'リストビューに項目を追加
    ListView1.Items.Add(itemx)
End Sub

' LargeIcon表示
Private Sub rdoLargeIcon_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoLargeIcon.CheckedChanged
    ListView1.View = View.LargeIcon
End Sub

' Details表示
Private Sub rdoDetails_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoDetails.CheckedChanged
    ListView1.View = View.Details
End Sub

' SmallIcon表示
Private Sub rdoSmallIcon_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoSmallIcon.CheckedChanged
    ListView1.View = View.SmallIcon
End Sub

' List表示
Private Sub rdoList_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoList.CheckedChanged
    ListView1.View = View.List
End Sub

' Tile表示
Private Sub rdoTile_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoTile.CheckedChanged
    ListView1.View = View.Tile
End Sub

C#の例

private void Form3_Load(object sender, EventArgs e)
{
    // 詳細表示にする
    listView1.View = View.Details;

    // 列を追加する(列に表示する文字列、幅、列に表示する文字の配置位置)
    listView1.Columns.Add("名称", 50, HorizontalAlignment.Left);
    listView1.Columns.Add("読み", 80, HorizontalAlignment.Left);
    listView1.Columns.Add("初リリース", 120, HorizontalAlignment.Left);

    // 追加する項目の設定
    ListViewItem itemx = new ListViewItem();
    itemx.Text = "C#";                    // 1列目に表示するテキスト
    itemx.ImageIndex = 0;                 // イメージのインデックス番号
    itemx.SubItems.Add("しーしゃーぷ");     // 2列目に表示するテキスト
    itemx.SubItems.Add("2002年");         // 3列目に表示するテキスト

    // リストビューに項目を追加
    listView1.Items.Add(itemx);
}

// LargeIcon表示
private void rdoLargeIcon_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.LargeIcon;
}

// Details表示
private void rdoDetails_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.Details;
}

// SmallIcon表示
private void rdoSmallIcon_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.SmallIcon;
}

// List表示
private void rdoList_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.List;

}

// Tile表示
private void rdoTile_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.Tile;
}

コメント

タイトルとURLをコピーしました