|
▼ リストボックスのアイテム消去 ▼
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の例
CheckedListBox等でも全く同じ方法でアイテムの消去を行うことが可能です。 Continue
|
2008年ですね。[1]
自由なスレ[3]
2007年ですね。[1]
こみゅぷらす発足[1]
TechED2006 日記[5]
|
Copyright(C)2001-2008 FooPah!, All rights reserved. | |