.NET 1.1 から .NET 2.0 への変更でUIの挙動の違いですっかり時間を取られました。
ListViewでStateImageを設定すると、ListViewItemが削除できなくなる。ListViewでRemoveやRemoveAtメソッドを実行するとSystem.NullReferenceException 例外が発生。これが何をどう指定してもとにかく「Null」だと言い張るので、いろいろ調べてみると、ListViewItemのStateImageIndexへ-1を設定すると削除できたました。
Webで検索しても有益な情報が無かったので、ここで整理しておきます。
現象:
ListViewでStateImageを使用した状態でListViewItemを削除しようとすると、System.NullReferenceException が発生する。
解決方法:
削除前にListViewItemのStateImageIndexを-1へ変更する
環境
.NET Framework 2.0 (1.1では発生しない)
関連キーワード
ListView ListViewItem StateImage StateImageIndex Remove RemoveAt RemoveByKey System.NullReferenceException
誰かの役に立てばいいのですが
コメントする