私は、敵の情報(場所、健康など)をすべて読み込んでそれに応じてリストビューに保存するゲームをハックしています。私は現在、この方法を使用しています:リストビュー内のテキストを更新せずに更新する方法
listView1.Items.Clear();
string[] arr = new string[6];
ListViewItem item;
for (int i = 0; i < engine.maxPlayers; i++)
{
engine.enemy[i].readInfo(i);
arr[0] = i.ToString()
arr[1] = engine.enemy[i].name.ToString();
arr[2] = engine.enemy[i].getRank(csgo.enemy[i].compRank);
arr[3] = engine.enemy[i].Wins.ToString();
arr[4] = engine.enemy[i].health.ToString();
arr[5] = engine.enemy[i].armor.ToString();
item = new ListViewItem(arr);
listView2.Items.Add(item);
}
これは、リアルタイム情報を保証するために200 msごとに行われています。 これはある程度機能します。それはすべてを正しく示しています。しかし、2つの大きな欠陥があります。 1:データを消去して書き換えたときに常に点滅します。 2:リストビューの長さが10列しかなく、20人のプレーヤーのデータを読み取る必要がある場合、スクロールバーが消えるたびに最後の10人のプレーヤーを表示することができません。
特定のテキストのテキストのみを更新することは可能ですか?私は敵の健康を更新し、残りのものを残したいとします。これはできますか?ゲーム中に変更されないため、勝利やランクなどの情報を再描画する必要はありません。
'listView2.Items [row] .SubItems [列]。テキスト ' – Slai
ちらつきを防止する方法はありますか? – LegitGodmode
ゲーム中にDoubleBuffered http://stackoverflow.com/questions/442817/c-sharp-flickering-listview-on-update – Slai