ListView上で最初に表示される行(Item)を取得、設定するには
TopItemプロパティーの値を取得、設定します。
狙った場所を表示したい場合は
前回表示位置を記憶、復元したい場合などに利用します。
仮想ListViewの場合は設定後にRefresh()しないといけないかも。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace ListViewSample { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // すべての項目を削除 listView1.Items.Clear(); // 1行複数列で表示するスタイルに変更 listView1.View = View.Details; // 列を追加 listView1.Columns.Add("名前", 100); listView1.Columns.Add("種類", 80); listView1.Columns.Add("値段", 60); for(int i = 1; i <= 20; i++) { // 追加する行を準備 ListViewItem item = new ListViewItem("りんご" + i.ToString()); item.SubItems.Add("果物"); item.SubItems.Add((i*100).ToString() + "円"); // 行を追加 listView1.Items.Add(item); } } private void button1_Click(object sender, EventArgs e) { // 最初に表示される行(Item)のインデックスを表示 MessageBox.Show("先頭に表示されている行(Item)は" + listView1.TopItem.Index.ToString()); } } }
コメントを残す