【发布时间】:2017-03-29 09:29:26
【问题描述】:
所以我尝试了一些新的东西.. 我在代码顶部添加了一个全局 ListViewItem,这样我就可以在我认为合适的时候轻松地将新的子项添加到列表中。
所以为了尝试这种新方法,我制作了一个简单的列表视图和一个添加当前时间的按钮。 当我点击它一次它工作得很好,但如果我再次点击添加它会抛出这个错误。
System.ArgumentException: 'Cannot add or insert the item '11:24' in 不止一处。您必须首先将其从当前的 定位或克隆它。'
有没有一种方法可以让我在不删除或克隆它的情况下克服它?
using System;
using System.Windows.Forms;
namespace Listviews
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ListViewItem lvi = new ListViewItem();
private void btnAdd_Click(object sender, EventArgs e)
{
string time = DateTime.Now.ToString("HH:mm");
lvi.Text = time;
listView1.Items.Add(lvi);
}
}
}
【问题讨论】:
-
你不能重复使用相同的
ListViewItem,这样让它全局化是没有意义的。将行ListViewItem lvi = new ListViewItem();移动到btnAdd_Click方法中,这将每次创建一个新项目,这是所需的行为。 -
我试图将此应用到我没有引起任何关注的其他问题上,也许您可以帮助My other question 更新链接