[Tips][ListView] アイテムの表示方法を設定する

現在HIRO’s.NETのコンテンツを見直しています。

せっかくなので、見直したものをブログで紹介していきたいと思います。

今回より数回に分けて Windowsアプリケーションの ListViewコントロールのTipsを紹介します。


ListView コントロールのアイテムの表示方法は5種類あります。

表示方法を設定するには View プロパティを使用し、View 列挙体を指定します。

View列挙体
メンバ名 説明
LargeIcon 各項目は、ラベルが下に付いているフルサイズのアイコンとして表示されます。
Details 各項目は各行に表示され、各項目に関する詳しい情報が各列に配置されます。左端の列には小さいアイコンとラベルが示されます。次の列にはアプリケーションで指定されたサブ項目が示されます。列には、列のキャプションを示すヘッダーが表示されます。ユーザーは実行時に各列のサイズを変更できます。
SmallIcon 各項目は、ラベルが右側に付いている小さいアイコンとして表示されます。
List 各項目は、ラベルが右側に付いている小さいアイコンとして表示されます。項目は、列ヘッダーのない列に配置されます。
Tiles 各項目はフルサイズのアイコンとして表示され、右側にラベルとサブ項目の情報が表示されます。表示するサブ項目の情報は、アプリケーションによって指定されます。この情報は Windows XP および Windows Server 2003 ファミリでのみ表示されます。古いオペレーティング システムではこの値が無視され、LargeIcon ビューには ListView コントロールが表示されます。

下記は、Viewプロパティを使用して、表示方法を設定する例です。

VBの例

''' <summary>
''' LargeIcon表示
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub rdoLargeIcon_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoLargeIcon.CheckedChanged
    ListView1.View = View.LargeIcon
End Sub

''' <summary>
''' Details表示
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub rdoDetails_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoDetails.CheckedChanged
    ListView1.View = View.Details
End Sub

''' <summary>
''' SmallIcon表示
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub rdoSmallIcon_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoSmallIcon.CheckedChanged
    ListView1.View = View.SmallIcon
End Sub

''' <summary>
''' List表示
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub rdoList_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoList.CheckedChanged
    ListView1.View = View.List
End Sub

''' <summary>
''' Tile表示
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub rdoTile_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoTile.CheckedChanged
    ListView1.View = View.Tile
End Sub

C#の例

/// <summary>
/// LargeIcon表示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rdoLargeIcon_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.LargeIcon;
}

/// <summary>
/// Details表示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rdoDetails_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.Details;
}

/// <summary>
/// SmallIcon表示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rdoSmallIcon_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.SmallIcon;
}

/// <summary>
/// List表示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rdoList_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.List;

}

/// <summary>
/// Tile表示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rdoTile_CheckedChanged(object sender, EventArgs e)
{
    listView1.View = View.Tile;
}