C#でプログラムコードからListViewの要素を選択するコードを紹介します。
ListViewの項目を選択するには、マウスで項目をクリックすると選択ができます。複数要素を選択する場合は、ドラッグして複数の項目を選択すする方法や、SHIFTキーを押しながら項目をクリックすることで複数の選択ができます。この記事では、マウスのクリックやドラッグではなく、プログラムのコードでListViewを選択する手順を紹介します。
ListViewの項目を選択する場合は、ListViewItem オブジェクトの Selected プロパティを true に設定します。
下図のフォームを作成します。ListView, Button, ImageListをフォームに配置します。
ImageListにアイコン画像を追加します。また、ListViewのLargeImageプロパティにImageListを指定します。手順の詳細はこちらの記事を参照してください。
下記のコードを記述します。
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 ListViewDemo
{
public partial class FormSelectObject : Form
{
public FormSelectObject()
{
InitializeComponent();
}
private void FormSelectObject_Load(object sender, EventArgs e)
{
ListViewItem lvi = new ListViewItem("Penguin");
lvi.ImageIndex = 0;
listView1.Items.Add(lvi);
lvi = new ListViewItem("Chicken");
lvi.ImageIndex = 1;
listView1.Items.Add(lvi);
lvi = new ListViewItem("Pig");
lvi.ImageIndex = 2;
listView1.Items.Add(lvi);
lvi = new ListViewItem("Whale");
lvi.ImageIndex = 3;
listView1.Items.Add(lvi);
}
private void button1_Click(object sender, EventArgs e)
{
listView1.Items[1].Selected = true;
listView1.Focus();
}
private void button2_Click(object sender, EventArgs e)
{
listView1.Items[1].Selected = true;
listView1.Items[2].Selected = true;
listView1.Items[3].Selected = true;
listView1.Focus();
}
}
}
private void button1_Click(object sender, EventArgs e)
{
listView1.Items[1].Selected = true;
listView1.Focus();
}
選択される ListViewItem オブジェクトの Selected プロパティを true に設定します。ボタンをクリックした状態では、ListViewにフォーカスが移動せず、選択状態が画面依反映されないため、listView1.Focus() メソッドを呼び出し、ListViewにフォーカスを移します。ListViewにフォーカスが設定されると選択状態が画面に反映されます。
private void button2_Click(object sender, EventArgs e)
{
listView1.Items[1].Selected = true;
listView1.Items[2].Selected = true;
listView1.Items[3].Selected = true;
listView1.Focus();
}
複数の項目を選択状態にする場合も選択される ListViewItem オブジェクトの Selected プロパティを true に設定します。先の場合と同様にFocus() メソッドを呼び出し、ListViewにフォーカスを移し、選択状態を画面に反映します。
上記のプロジェクトを実行します。下図のウィンドウが表示されます。
[button1]をクリックします。2番目の要素"Chicken"の項目が選択状態になります。
[button2]をクリックします。2番目、3番目、4番目の項目が選択状態になります。
プログラムコードからListViewの項目の選択ができました。