カスタムタイプのジェネリックリストにバインドされたcheckedlistboxがあります。リストの他の項目を削除すると、表示は問題ありませんが、リストの最後の項目を削除すると、表示名ではなくタイプ名がリストに表示されます。
_selResolutions.RemoveAt(selIndex);
cklResolutions.DataSource = null;
cklResolutions.BeginUpdate();
cklResolutions.DataSource = _selResolutions;
cklResolutions.DisplayMember = "LongDesc";
cklResolutions.ValueMember = "LongDesc";
cklResolutions.EndUpdate();
for (var i = 0; i < _selResolutions.Count; i++)
{
cklResolutions.SetItemChecked(i, _selResolutions[i].Selected);
}
上記のコードで最後の項目を削除すると、表示は次のようになります。
[ ] Resolution
[ ] Resolution
[ ] Resolution
[ ] Resolution
[ ] Resolution
なぜこうなった?私はここで何かを逃していますか?どうすればこれを修正できますか?