私のアプリケーションはマルチスレッドでf.ex 25のアクティブなスレッドを持ち、各スレッドはステータスをデリゲートによってリストアイテムにプッシュします。ListView - 瞬きを避ける方法(.NET/C#)?
例:状況に応じて、
private delegate void SetBackColorDelegate(int index, Color color);
private void SetBackColor(int index, Color color)
{
if (listView1.InvokeRequired)
{
listView1.Invoke(new SetBackColorDelegate(SetBackColor), new object[] { index, color });
}
else
{
listView1.Items[index].BackColor = color;
}
}
それはアイテムの色等を変更し、それは多くのことを瞬い、それはたぶん、あなたはこれを回避する方法を提案することができます:)
非常に厄介に見えますか?描画をスピードアップするには?あるいは、私はいくつかの異なるコンポーネントを使い始めてみるべきでしょうか?
私はあなたがちらちらを意味すると思う。 –
問題を少しでも拡大できますか?アイテムの色を変更するスレッドがたくさんありますが、色が大きく変わるという問題がありますか?ダブルバッファリングのようなちらつきや、色の変化が十分に速くなく、常に後ろを追っていて、常に色を変えようとしているのですか?私は、コードがアイテムの色を変更する要求を出してから、色が変わるのがなぜ問題なのか分かりません。 –