私の目的のために、カスタムInstance
オブジェクトListBox
をカスタム カラーで表示する GUI を 4.0 で作成しています。それぞれの色で描画できましたが、これらの色を変更する方法があるかどうか疑問に思っています。
数秒ごとにオブジェクトのクリアListBox
と再読み込みを別々に試みましたが、このルートでは、が変更されてイベントがイベント ハンドラーに送信されるという事実により、多くの頭痛の種になりました。したがって、スレッド化、ロック、競合状態、イベント ハンドラーのオンとオフの切り替え、Invalidargumentexceptions を使用してコードを作成しようとするのは悪夢であるため、可能であればそれを避けたいと思います。Instance
BackGroundWorker
ListBox.selectedIndex
ListBox_SelectedIndexChanged
here で説明されているように、イベントをトリガーListBox
するためにアイテムを追加および再追加する必要なく、 backGroundWorker が私の色を視覚的に更新する方法はありますか?DrawItem
編集: ListBox.Refresh() を呼び出すと、リストボックス内のすべてのアイテムが再描画され、selectedIndexChanged イベント ハンドラーが回避され、すべてのアイテムの色が更新されました。