すらすらプログラマーへのお問い合わせ
すらすらのブログ
アクセス数  累計:000,121,473  昨日:000,000,062  本日:000,000,249
Loading
リストビュー
.NET プログラミング
プロパティグリッド
印刷
リストボックス
スレッド
リストビュー
インストーラー
やってみよう!

できるVisual Studio 2015 Windows /Android/iOS アプリ対応

独習C# 第3版

VisualBasic2013パーフェクトマスター (Perfect Master SERIES)

プログラミング.NET Framework 第4版 (Microsoft Press)

VisualBasic2013逆引き大全555の極意

猫でもわかるWindowsプログラミング 第4版 (猫でもわかるプログラミング)

VisualC#2013逆引き大全555の極意

リストビューの基本 最終更新:2010/07/15
【Amazon ランキング:本 - ビジネス・経済】

この章ではリストビューについて説明します。
ファイルエクスプローラー等でおなじみなのでで改めて機能を説明するまでもないかも知れませんが、リストビューは複数のアイテムを並べて表示することのできるコントロールです。「大きいアイコン」「小さいアイコン」「詳細」「一覧」「並べて表示」の5つの形式で表示可能です。
またテキストデータに加えてアイコンやチェックボックスも表示できる優れものです。
5つの表示形式
リストビューは View プロパティによって5つの異なる表示を行うことができます。
[大きいアイコン]
View LargeIcon
LargeImageList ImageList1
[小さいアイコン]
View SmallIcon
SmallImageList ImageList1
[詳細]
View Details
SmallImageList ImageList1
[一覧]
View List
SmallImageList ImageList1
[並べて表示]
View Tile
LargeImageList ImageList1
選択されたアイテムの取得
リストボックスで選択されたアイテムを取得するには SelectedItems コレクションを使用します。リストビューは複数の項目を選択できるので選択されたすべてのアイテムがコレクションに登録されます。
[VB]
Me.listView1.SelectedItmes(0)

[C#]
this.listView1.SelectedImtes[0];
フォームの作成
Form1 を作成して次のようにコントロールを配置してください。

ListView:[listView1]
LargeImageList ImageList1
SmallImageList ImageList1

PictureBox:[PictureBox1]
BorderStyle FixedSingle
SizeMode CenterImage

Label:[Label1]


ImageList:[ImageList1]
大きいアイコン、並べて表示の場合
ImageSize 30,30

小さいアイコン、詳細、一覧の場合
ImageSize 16,16

イメージ
VB[Form1.vb]
Public Class Form1

    
Public Sub New()

        
' この呼び出しは、Windows フォーム デザイナで必要です。
        InitializeComponent()

        
' InitializeComponent() 呼び出しの後で初期化を追加します。
        Me.listView1.View = View.LargeIcon      ' 大きいアイコン
        'Me.listView1.View = View.SmallIcon     ' 小さいアイコン
        'Me.listView1.View = View.Details       ' 詳細
        'Me.listView1.View = View.List          ' 一覧
        'Me.listView1.View = View.Tile          ' 並べて表示
    End Sub

    Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgs) _
        
Handles Me.Load

        
'リストビューに表示するデータ配列
        Dim data(,) As String = New String(,) { _
            {
"田中一郎""男""鹿児島県"}, _
            {
"鈴木花子""女""熊本県"}, _
            {
"佐藤健二""男""宮崎県"}, _
            {
"山田葉子""女""大分県"}}

        
' ヘッダーの設定
        ' ※ヘッダーが表示されるのは詳細表示の時だけです。
        Me.listView1.Columns.Add("名前", 100)
        
Me.listView1.Columns.Add("性別", 50)
        
Me.listView1.Columns.Add("出身", 70)

        
' リストビューのデータ追加
        For row As Integer = 0 To 3

            
Dim imageIndex As Integer = 0

            
If (Not data(row, 1).Equals("男")) Then
                imageIndex = 1
            
End If

            ' リストビューアイテム作成
            Dim item As ListViewItem = New ListViewItem(data(row, 0), imageIndex)

            
' サブアイテム追加
            item.SubItems.Add(data(row, 1))
            item.SubItems.Add(data(row, 2))

            
' アイテムをリストビューに追加
            Me.listView1.Items.Add(item)
        
Next

    End Sub

    Private Sub listView1_SelectedIndexChanged(_
        
ByVal sender As System.Object, ByVal e As System.EventArgs) _
        
Handles listView1.SelectedIndexChanged

        
' 選択されているアイテムを表示
        If (Me.listView1.SelectedItems.Count > 0) Then
            ' 選択されているアイテム取得
            Dim selectItem As ListViewItem = Me.listView1.SelectedItems(0)

            
' イメージ設定
            Me.pictureBox1.Image = Me.ImageList1.Images(selectItem.ImageIndex)

            
' データ設定
            Me.label1.Text = String.Format("{0} ({1})" & vbCrLf & "出身:{2}", _
                selectItem.SubItems(0).Text, _
                selectItem.SubItems(1).Text, _
                selectItem.SubItems(2).Text)
        
Else
            Me.pictureBox1.Image = Nothing
            Me.label1.Text = String.Empty
        
End If

    End Sub

End
 Class
C#[Form1.cs]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ListViewCS
{
    
public partial class Form1 : Form
    {
        
public Form1()
        {
            InitializeComponent();

            
this.listView1.View = View.LargeIcon;       // 大きいアイコン
            //this.listView1.View = View.SmallIcon;     // 小さいアイコン
            //this.listView1.View = View.Details;       // 詳細
            //this.listView1.View = View.List;          // 一覧
            //this.listView1.View = View.Tile;          // 並べて表示
        }

        
private void Form1_Load(object sender, EventArgs e)
        {
            
// リストビューに表示するデータ配列
            string[,] data = new string[,]{
                {
"田中一郎","男","鹿児島県"},
                {
"鈴木花子","女","熊本県"},
                {
"佐藤健二","男","宮崎県"},
                {
"山田葉子","女","大分県"}};

            
// ヘッダーの設定
            // ※ヘッダーが表示されるのは詳細表示の時だけです。
            this.listView1.Columns.Add("名前", 100);
            
this.listView1.Columns.Add("性別", 50);
            
this.listView1.Columns.Add("出身", 70);

            
// リストビューのデータ追加
            for (int row = 0; row < 4; row++)
            {
                
int imageIndex = 0;

                
if (!data[row, 1].Equals("男"))
                    imageIndex = 1;

                
// リストビューアイテム作成
                ListViewItem item = new ListViewItem(data[row, 0], imageIndex);

                
// サブアイテム追加
                item.SubItems.Add(data[row, 1]);
                item.SubItems.Add(data[row, 2]);

                
// アイテムをリストビューに追加
                this.listView1.Items.Add(item);
            }
        }

        
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
// 選択されているアイテムを表示
            if (this.listView1.SelectedItems.Count > 0)
            {
                
// 選択されているアイテム取得
                ListViewItem selectItem = this.listView1.SelectedItems[0];

                
// イメージ設定
                this.pictureBox1.Image = this.imageList1.Images[selectItem.ImageIndex];

                
// データ設定
                this.label1.Text = string.Format("{0} ({1})\n出身:{2}",
                    selectItem.SubItems[0].Text,
                    selectItem.SubItems[1].Text,
                    selectItem.SubItems[2].Text);
            }
            
else
            {
                
this.pictureBox1.Image = null;
                
this.label1.Text = string.Empty;
            }            
        }
    }
}
※このページで紹介しているサンプルコードについて管理者は動作保障をいたしません※
※サンプルコードを使用する場合は、自己責任でお願いします※

【楽天 ランキング:パソコン・周辺機器 - ノートパソコン】




このサイトはフリーソフトのMerge HTMLで作成されています。
このサイトはリンクフリーです。

ページの先頭に戻る Copyright© 2010-2015 Jun.Shiozaki All rights reserved.