ナビゲーション リンクのスキップトップページ > コードの破片から > リストボックスアイテムの削除
▼ リストボックスのアイテム消去 ▼

  ListBoxのアイテム選択時にDeleteキーが押された場合、選択されたアイテムを消去し下位のデータを繰り上げて同一の位置を再選択します。消去したアイテムが最下位だった場合は消去した位置にデータが無く、例外が発生するので1つ上のアイテムを選択します。

リストボックスのアイテム消去

♣ 前提条件

ListBoxコントロールの名称はlistBox1。

♣ コード

private void listBox1_KeyDown(object sender, KeyEventArgs e)
{
    int items = this.listBox1.Items.Count,
        selected = this.listBox1.SelectedIndex;

    // items <= 0 の時はアイテムが存在していません。この状態でDelキーを押されると例外発生。
    if(e.KeyCode == Keys.Delete && items > 0)
    {
        // アイテムを直接消去するのはRemoveAtメソッドです。
        this.listBox1.Items.RemoveAt(this.listBox1.SelectedIndex);

        // アイテムを消去したのでアイテム数は変化しました。
        items = this.listBox1.Items.Count

        if(items > 0)
        {
            if(items == selected)
            {
                // 最下位のデータを消去する場合、消去後一つ上のアイテムを選択します。
                this.listBox1.SelectedIndex = selected - 1;
            }
            else if(selected >= 0)
            {
                // その他のアイテムを消去する場合は消去前と同じ位置を選択します。
                this.listBox1.SelectedIndex = selected;
            }
        }
    }
}

♣ UIの例

UI Sample

  CheckedListBox等でも全く同じ方法でアイテムの消去を行うことが可能です。

Continue
ナビゲーション リンクのスキップトップページ > コードの破片から > リストボックスアイテムの削除

情報オリンピック[2]
♥ 2009年07月04日 13:39:15

2008年ですね。[1]
♥ 2008年01月01日 00:00:00

自由なスレ[3]
♥ 2007年09月22日 20:51:58

2007年ですね。[1]
♥ 2007年01月01日 00:00:00

こみゅぷらす発足[1]
♥ 2006年12月01日 12:01:23


RSS : FooPah!の更新情報
RSS : 掲示板全体の投稿情報
Copyright(C)2001-2009 FooPah!, All rights reserved.