элемент двойного щелчка в списке view С#
я все еще не могу понять, как сделать элемент в listview кликабельным и появиться сообщение.
это мой код.
private void button6_Click(object sender, EventArgs e)
{
ListViewItem listviewitem;
listviewitem = new ListViewItem("John");
listviewitem.SubItems.Add("Smith");
listviewitem.SubItems.Add("kaya");
listviewitem.SubItems.Add("bun");
this.listView1.Items.Add(listviewitem);
listView1.FullRowSelect = true;
//показать заголовок listView1.View = View.Details;
// Loop through and size each column header to fit the column header text.
foreach (ColumnHeader ch in this.listView1.Columns)
{
ch.Width = -2;
}
}
Я прочитал itemActive, и я пробовал это. im добавление listView1.SelectedItems[0].Text
private void button6_Click(object sender, EventArgs e)
{
ListViewItem listviewitem;
listviewitem = new ListViewItem("John");
listviewitem.SubItems.Add("Smith");
listviewitem.SubItems.Add("kaya");
listviewitem.SubItems.Add("bun");
this.listView1.Items.Add(listviewitem);
listView1.FullRowSelect = true;
MessageBox.Show("You clicked " + listView1.SelectedItems[0].Text);
}
эта ошибка распечатки
аргумент вне диапазона. Недопустимый номер индекса "0".
Пожалуйста, помогите мне с этим.
На button6_Click()
только добавить вновь созданный listviewitem
в listView1
private void button6_Click(object sender, EventArgs e)
{
ListViewItem listviewitem;
listviewitem = new ListViewItem("John");
listviewitem.SubItems.Add("Smith");
listviewitem.SubItems.Add("kaya");
listviewitem.SubItems.Add("bun");
this.listView1.Items.Add(listviewitem);
listView1.FullRowSelect = true;
//MessageBox.Show("You clicked " + listView1.SelectedItems[0].Text);
}
Зарегистрируйте событие Click
против listView1
this.listView1.Click += new System.EventHandler(this.listView1_Click);
И в этом случае обработчик проверит наличие listView1.SelectedItems[0]
private void listView1_Click(object sender, EventArgs e)
{
if(listView1.SelectedItems.Count > 0)
MessageBox.Show("You clicked " + listView1.SelectedItems[0].Text);
}
Для документации, пожалуйста, проверьте MSDN
Вы на самом деле не выбрали элемент, и, когда вы получите сообщение об ошибке:
InvalidArgument = Значение '0' недопустимо для 'index'.
Поместите некоторую защиту, чтобы проверить, что элемент выбран:
if (listView1.SelectedItems.Count > 0)
{
MessageBox.Show("You clicked " + listView1.SelectedItems[0].Text);
}
else
{
MessageBox.Show("Please select an item");
}
Или выберите элемент в коде:
private void button6_Click(object sender, EventArgs e)
{
ListViewItem listviewitem;
listviewitem = new ListViewItem("John");
listviewitem.SubItems.Add("Smith");
listviewitem.SubItems.Add("kaya");
listviewitem.SubItems.Add("bun");
this.listView1.Items.Add(listviewitem);
//listView1.FullRowSelect = true;
listView1.Items[0].Selected = true;
MessageBox.Show("You clicked " + listView1.SelectedItems[0].Text);
}
Вы уверены, что есть активный элемент? Возможно, потому, что вы не выбрали ни одного элемента в списке. Выполните проверку выбранных элементов,
string msg = (listView1.SelectedItems.Count >0) ? "You Clicked " +
listView1.SelectedItems[0].Text : "Please select an item.";
MessageBox.Show(msg);
- Вопросы
- Double-click
- элемент двойного щелчка в списке view С#