ListView に登録する

C# で ListView にアイテムを登録します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. ListView はウインドウズ・エクスプローラでお馴染みの ListBox を拡張したものです。
    ListView には4つの表示スタイルがあります。
    表示の切り替えは 表示の切り替え を参照して下さい。
  2. 手始めに ListBox と同じように表示してみましょう。
    空のプロジェクトを作成して下さい。
    詳細は Form を作成する を参照して下さい。
    自動生成を使って Form を作成 の場合も同じ要領です。
  3. [デザイン] を表示して、[ツールボックス] から [ListView] をフォームに貼り付けます。
    ソースプログラム(CSForm.cs)に InitializeComponent() のメソッドが追加されます。
  4. MyForm の Constructor から InitializeComponent() を呼び出します。
    これだけで ListView が表示されます。
        public MyForm()
        {   InitializeComponent();
        }
        
  5. Load をデリゲート(委譲)して ListView に登録するイベントハンドラ(MyForm_Load)を設定して下さい。
        public MyForm()
        {
            InitializeComponent();
            Load += new System.EventHandler(MyForm_Load);
        }
        
  6. MyForm_Load() でアイテムを ListView に登録します。
    listView1.Items.Add() で ListView に登録します。
        private void MyForm_Load(object sender, System.EventArgs e)
        {
            listView1.Items.Add("バラ");
            listView1.Items.Add("ヒマワリ");
            listView1.Items.Add("コスモス");
        }
        
    listView1 は InitializeComponent() メソッドの中で次のように定義されています。
    this.listView1 = new System.Windows.Forms.ListView();
  7. 3件のアイテムが横に並べて表示されます。
    ListView のプロパティから Sorting に Ascending を設定すると昇順にソートされます。
    降順にソートするときは Sorting に Descending を設定して下さい。
          ・・・
        this.listView1.Name = "listView1";
        this.listView1.Size = new System.Drawing.Size(258, 232);
        this.listView1.Sorting = System.Windows.Forms.SortOrder.Ascending;
          ・・・
        
  8. ListBox と同じように一行に一件ずつ表示するときは、ListView のプロパティから View に List を設定して下さい。
    this.listView1.View = System.Windows.Forms.View.List;
  9. Windows(C++) の ListView は List View に名前一覧を表示する を参照して下さい。

登録アイテムを確認

  1. プログラムの終了時に ListView に登録されているアイテムを確認してみましょう。
  2. MyForm がクローズされるイベントを捕まえて Console.WriteLine() で印字します。
          ・・・
        this.Name = "MyForm";
        this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Close);
          ・・・
        
  3. Close() メソッドです。
    listView1.Items.Count; でアイテム数を取得します。
    listView1.Items[i].Text で登録されている TEXT を取得します。
        private void Close(object sender, FormClosedEventArgs e)
        {
            // 登録されているアイテムを確認
            int n = listView1.Items.Count;
            for(int i = 0; i < n; i++)
                Console.WriteLine(listView1.Items[i].Text);
        }
        
  4. Console.WriteLine() を実行すると、出力ウインドウに印字されます。
    沢山の進行メッセージの中から探して下さい。

超初心者のプログラム入門(C# Frame Work)