Listbox クラスを拡張するカスタム ユーザー コントロールがあります。その中で、OnSelectionChanged をオーバーライドして、選択/選択されていないアイテムに Adorners を追加/削除しています。これは、マウスを使用してアイテムを選択するとすべて機能しますが、プログラムでリストボックスにアイテムを追加すると、
myListBox.SelectedItems.Add(newItem) // newItem is already a member of myListBox.Items
OnSelectionChanged コードは実行しません。
更新:私が狂っていない限り(これは常に可能です)、親オブジェクトからこれを呼び出す間に動作に違いがあるようです
myListBox.SelectedItems.Add(newItem)
そして、私の拡張リストボックスクラス内のこのメソッド
Public Sub AddSelectedItem(newItem as Object)
Me.SelectedItems.Add(newItem)
End Sub
何らかの理由で、2 番目のオプションはイベントをトリガーしていますが、最初のオプションはそうではありません。