ListBox に登録する

C# で String で定義したアイテムを ListBox に登録します。

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

ListBox を張り付ける

  1. TextBox は一連の文章を扱うのに対して、ListBox は「アイテム(行)」を単位として扱います。
    ListBox は、名簿の一覧や商品名の一覧など、アイテムの一覧を表示するのに適しています。
  2. 空のプロジェクトを作成して下さい。
    詳細は Form を作成する を参照して下さい。
    自動生成を使って Form を作成 の場合も同じ要領です。
  3. [デザイン] を表示して、[ツールボックス] から [ListBox] をフォームに貼り付けます。
  4. MyForm の Constructor から InitializeComponent() を呼び出します。
    これだけで ListBox が表示されます。
        public MyForm()
        {   InitializeComponent();
        }
        

ListBox にアイテムを登録

  1. String で定義したアイテムを ListBox に表示してみましょう。
    アイテムの定義です。
        private ListBox listBox1;
        static string[] str =
        { "ListBox3", "ListBox1", "ListBox2", "abcd", "ABCDEFG", "01234" };
        
  2. Load をデリゲート(委譲)して ListBox に登録するので、イベントハンドラ(MyForm_Load)を設定して下さい。
    今までは Paint を使うことが多かったのですが、Paint はウインドウに描画する必要が生じたときに何度も呼び出されます。
    それに対して Load は Form がロードされるときに一度だけ呼び出されるので、Item の登録は Load の方が適しています。
        public MyForm()
        {
            InitializeComponent();
            Load += new System.EventHandler(MyForm_Load);
        }
        
  3. MyForm_Load() で アイテムを ListBox に登録します。
    listBox1.Items.Add() で ListBox に登録します。
        private void MyForm_Load(object sender, System.EventArgs e)
        {
            for(int i=0; i<str.GetLength(0); i++)
            {
                listBox1.Items.Add(str[i]);
            }
        }
        
  4. listBox1.Items.AddRange(str); を使えばループしなくても登録出来ます。
        private void MyForm_Load(object sender, System.EventArgs e)
        {
            listBox1.Items.AddRange(str);
        }
        
  5. ListBox のプロパティから Sorted に true を設定してみて下さい。
    アイテムが昇順にソートして表示されます。
    Windows(C++) のプログラムは List Box に名簿を表示する を参照して下さい。
    ListBox の追加と削除は List Box で名簿の削除と追加 を参照して下さい。

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