【发布时间】:2017-08-05 21:49:26
【问题描述】:
我想用 C# 构建一个小型应用程序。用户将在文本框中输入,单击按钮后,信息将显示在列表视图中。我的列表视图有 3 列标题。我想在列表视图中输入唯一的单词,如果信息已经存在,那么消息框将显示错误。一切都快完成了,但我有一个例外。不明白我错过了什么?
ListViewItem item = new ListViewItem();
int serial = 1;
private void saveBtn_Click(object sender, EventArgs e)
{
string code = codeTextBox.Text;
string name = nameTextBox.Text;
foreach (ListViewItem.ListViewSubItem subItem in item.SubItems)
{
if (subItem.Text == code)
{
MessageBox.Show("Code or Department name already exist");
break;
}
else
{
item.Text = (serial.ToString());
item.SubItems.Add(code);
item.SubItems.Add(name);
listView1.Items.Add(item);
}
serial++;
}
}
这里是异常详情----
"不能在多个位置添加或插入项目 '2'。您必须 首先将其从当前位置移除或克隆。\r\n参数 名称:项目”
【问题讨论】:
-
but I got an exception你会发布异常细节还是让我们想象一下。 -
这里是异常详细信息-----"不能在多个位置添加或插入项目'2'。您必须先将其从当前位置删除或克隆它。\r \n参数名称:item"
-
@YousufYamin 您需要为列表创建一个新的
ListViewItem。您的代码正在重用最初创建的代码。