0

我想在我的列表视图中编辑一个已经插入的项目。这正是我想要做的并尝试解决的问题:

if (listView1.SelectedItems.Count <= 0)
                return;

            foreach (ListViewItem item in listView1.SelectedItems)
            {
                String[] split = item.SubItems[0].ToString().Split('{');
                String[] split1 = item.SubItems[1].ToString().Split('{');
                String[] split2 = item.SubItems[2].ToString().Split('{');
                ListViewItem tempitem = new ListViewItem(split[1].Replace("}", ""));
                tempitem.SubItems.Add(split1[1].ToString().Replace("}", ""));
                tempitem.SubItems.Add("0");
                AutoResponce.Remove(split[1].Replace("}", "") + "|" + split1[1].ToString().Replace("}", "") + "|" + split2[1].Replace("}", ""));
                AutoResponce.Add(split[1].Replace("}", "") + "|" + split1[1].ToString().Replace("}", "") + "|" + "0");
                Settings settings = new Settings();
                settings.SaveAuto();
                listView1.Items.Remove(item);
                listView1.Items.Add(tempitem);
            }

因此,我创建了一个新对象,对最后一个数字输入(1 - 启用,0 - 禁用)稍作更改,然后将其重新添加,但它拖到列表视图的底部并且看起来并不好看。有没有办法可以简单地编辑输入?我通常会找到一种方法,但显然我迷路了 D:


修复(解决方案): 这看起来很愚蠢,但我找到了解决方案。不确定它是人们通常做的还是正确的方法,但这就是我所做的:

 foreach (ListViewItem item in listView1.SelectedItems)
        {
            String[] split = item.SubItems[0].ToString().Split('{');
            String[] split1 = item.SubItems[1].ToString().Split('{');
            String[] split2 = item.SubItems[2].ToString().Split('{');
            ListViewItem tempitem1 = new ListViewItem("1");
            item.SubItems[2] = tempitem1.SubItems[0];
            AutoResponce.Remove(split[1].Replace("}", "") + "|" + split1[1].ToString().Replace("}", "") + "|" + split2[1].Replace("}", ""));
            AutoResponce.Add(split[1].Replace("}", "") + "|" + split1[1].ToString().Replace("}", "") + "|" + "1");
            Settings settings = new Settings();
            settings.SaveAuto();
        }

我创建了一个“临时项目”并将第一个子项目设置为我打算作为新输入的输入,然后将所选项目设置为我刚刚创建的临时项目的第一个子项目。似乎工作得很好。

4

0 回答 0