我仍然不明白如何使 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 并且我已经尝试过这个。我正在添加 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);
}
这个打印输出错误
argument out of range. '0' is not valid number of index.
请帮我解决这个问题。
最佳答案
在 button6_Click()
上仅在 listView1
中添加新创建的 listviewitem
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);
}
针对 listView1
注册 Click
事件
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);
}
关于c# - 双击 ListView 中的项目 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11895609/