我有一个显示消息的列表视图 - 发件人、消息、时间是列。这些消息是从包含从串行端口读取的数据的文本文件中读取的,该数据稍后会被解析并显示在带有列的列表视图中。每个列表视图项目都有一个复选框,指示要删除的项目/消息。我遇到的问题是我无法将列表视图项与文本文件内容进行比较。这是代码-
private void btn_delete_Click(object sender, EventArgs e)
{
try
{
string filedata = File.ReadAllText("C:\\message.txt");
string replacedata="";
DialogResult result1 = MessageBox.Show("Are you sure to delete?", "Confirm Delete", MessageBoxButtons.YesNo);
if (result1.Equals(DialogResult.Yes))
{
for (int i = 0; i < lvwMessages.Items.Count; i++)
{
if (lvwMessages.Items[i].Checked)
{
replacedata = filedata.Replace(lvwMessages.SelectedItems[0] + Environment.NewLine, "");
lvwMessages.Items[i].Remove();
i--;
}
}
File.WriteAllText("C:\\message.text",replacedata);
更新:如果发件人的号码在我的联系人列表中,我的列表视图中作为发件人的第一列将被名称替换。所以我无法将完整的选定行与文件中的文本进行比较,因为文件中的那一行文本将包含数字而不是名称。
请帮忙。