2009-09-03 13 views
1

私は.net winforms ListBoxを持っていて、それに.Add()を使って項目を追加しました。 ToString()メソッドが別の値を返すように、リスト内のオブジェクトの1つを変更しますが、アイテムの表示値は更新されません。 ListBoxにToString値の再読み込みを指示するには、何を呼び出す必要がありますか?ListBoxでアイテムのテキストを変更する方法は?

答えて

3

手作業でアイテムを追加したので、リストボックスのアイテムをクリアしてから、それらを再度追加する必要があります。

.ToString()で項目を追加すると、リストボックスには文字列自体のコピーが含まれます。項目が変更されたかどうかを知る方法がなく、項目にも基づいていません。あなたはこれを自分で処理しなければなりません。

4

同じオブジェクト参照を同じリストボックスアイテムに再割り当てすると、リストボックスはその表示値を更新します。例:

Thingy thing = this.listBox1.Items[0]; 
thing.DoSomethingThatChangesToStringReturnValue(); 

this.listBox1.Items[0] = thing;