【发布时间】:2015-12-08 18:03:04
【问题描述】:
我的代码中有两个 ListView 对象,MovieList 和 UserFriendList。我有一个看起来像这样的方法
public void passFriends(ListViewItem[] friends)
{
foreach (ListViewItem tempItem in friends)
{
ListViewItem temp = new ListViewItem();
temp = (ListViewItem)tempItem.Clone();
UserFriendList.Items.Add(temp);
}
}
该方法旨在将 ListViewItems 数组从一个窗体传递到另一个窗体,然后将每个 listview 项添加到 UserFriendList。但是,当我实际执行操作时,ListViewItem(一个用户)被添加到我的 MovieList 而不是我的 UserFriendsList
有人知道为什么会这样吗?
【问题讨论】:
-
这里的电影列表在哪里?
-
MovieList 不是这种方法的一部分,这就是它如此令人费解的原因。但是,在表单的构造函数中可以找到初始化 MovieList 并向其添加列的代码
-
你在 temp 变量中得到的值是多少?什么是类型/
-
您看似添加到 UserFriendList 中的临时项目显示在 MovieList 中的唯一方法是 UserFriendList 是对 MovieList 的引用。也就是说,如果显示的代码是正在执行的实际代码。您可以尝试的一件事是先进行清理并重新编译。然后看看你没有将 MovieList 分配给 UserFriendList。
-
与你的问题无关,但你为什么要创建一个新的 temp 实例,然后在下一行为 temp 分配一个不同的对象?为什么不这样做:
ListViewItem temp = (ListViewItem)tempItem.Clone();?
标签: c# listview listviewitem