DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ListViewの変更を監視する方法はありますでしょうか?

環境/言語:[VS2005,C#.NET,.NET Framework2.0]
分類:[.NET]

初めまして。稚拙な質問で申し訳ございません。
ListViewのItemsにアイテムがAdd,RemoveされたりClearされたり
ListViewに表示されているItemに変更があったことを監視することは
可能でしょうか?

コントロールのイベントで引っかけようとしたのですが、該当するような
イベントがなく、手をこまねいています。

ちなみにユーザ入力による変更やSelectedIndexChangedではなく
あらゆる(データ内容の表示に関する)変更に対応したいのです。

もし名案がございましたらご教示いただければ幸いです。


----
余談ですが、手練れの方ならピンと来ることかもしれませんが、
簡単なアプリだったのでデータ本体をListViewのItemに持たせて
しまったところ、後半になって思いのほかコードがふくらんでしまい
プログラム全体でデータの変更を監視しきれなくなって
しまったというのが、この問題の原因です。

本来であれば、データの配列を別個で保持しデータ変更や
それの監視はそちらで行い、ListViewはあくまでもその結果の
表示だけと割り切るのが普通だと思うのですが、
今回Winアプリ初挑戦ということで私の力量不足を恥じるばかりです。
> ListViewのItemsにアイテムがAdd,RemoveされたりClearされたり
> ListViewに表示されているItemに変更があったことを監視することは
> 可能でしょうか?

ユーザーによる変更といえばLabelEditだけだと思うのですが。
つまり、他の変更の入り口はプログラムにあるということになります。
まずはその変更の入り口を一本化することから始めるのがよいかと思います。
#アクションごとにプロシージャを作りそれぞれから呼ぶなど

DOBON.NET | プログラミング道 | プログラミング掲示板