約 100 項目の ListView があります。過去から選択した項目があり、下にスクロールして別の項目を見つける必要がありますが、その間に更新が発生し、最後に選択した項目に自動的にスクロールして戻ります。
現在スクロールしている場合、どうすればそれをオフにするか、スクロールしないほうがよいでしょうか?
返信ありがとうございます:)
これが役立つかどうかはわかりませんが、ここでは、新しいアイテムが追加されて並べ替えられたときに、選択したアイテムにスクロールして戻るという問題がない設定です。ただし、並べ替え設定を使用し、並べ替えまたは更新を呼び出しません。
新しいフォームを作成し、そこに ListView と Timer を配置します。ListView では、これらのプロパティのみを変更します。
次のコードを追加します
public Form1()
{
InitializeComponent();
for (int x = 0; x < 100; x++)
{
listView1.Items.Add("Item #" + x);
}
}
private int y = 10;
private void timer1_Tick(object sender, EventArgs e)
{
listView1.Items.Add("Item #" + y + "b");
y += 10;
}
これを実行すると、任意のアイテムを選択してどこにでもスクロールでき、新しいアイテムが追加されたときに選択したアイテムに戻ることはありません。ただし、追加する項目が上にある場合は1行下にスクロールします...
おそらく、これで十分に近くなり、必要なものを手に入れるためにさらに遊んでみることができます.
しかし、それは何とかWin32 APIを使用してListViewコントロールをサブクラス化することなくできる最善の方法です。