【发布时间】:2013-07-10 01:52:14
【问题描述】:
如何将列表视图中的选定行显示到文本框?
这就是我做 int dataGridView 的方式:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ReadOnly = true;
if (dataGridView1.SelectedRows.Count != 0)
{
DataGridViewRow row = this.dataGridView1.SelectedRows[0];
EmpIDtextBox.Text = row.Cells["EmpID"].Value.ToString();
EmpNametextBox.Text = row.Cells["EmpName"].Value.ToString();
}
}
我试过了:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
ListViewItem item = listView1.SelectedItems[0];
if (item != null)
{
EmpIDtextBox.Text = item.SubItems[0].Text;
EmpNametextBox.Text = item.SubItems[1].Text;
}
}
【问题讨论】:
-
代码应该可以工作,实际问题是什么?
-
IndexOutOfRangeException可能会出现一些异常,因为有时ListView中没有选中项。 -
将一行改为
ListViewItem item = listView1.SelectedItems.Count > 0 ? listView1.SelectedItems[0] : null;将涵盖超出范围的问题。
标签: c# winforms listview textbox