我试过这个:
foreach (ListViewItem item in lvPC.CheckedItems)
{
selectedTag = item.Tag.ToString();
DialogResult result = MessageBox.Show
("Are you sure you want to remove this entry?",
"Information", MessageBoxButtons.YesNo,
MessageBoxIcon.Information);
if (result == DialogResult.Yes)
{
// SQL query which will delete entry by using entry ID.
string sql = "DELETE FROM PersonalData WHERE DataID = " + selectedTag;
DeleteData(sql, selectedTag);
DisplayFileContent(filePath);
}
else
{
if (lvPC.CheckedItems == CheckState.Checked)
item = CheckState.Unchecked;
}
}
但显然我不知道该怎么做。如何查看我的项目状态?如何取消选中?
答案 0 :(得分:2)
由于您要枚举CheckedItems
,因此您需要担心该项是否已被选中,因此您只需设置Checked
属性:
else
{
item.Checked = false;
}
另外,只是旁注,您可能想要整合您的消息,询问用户是否要删除已检查的项目;如果已经检查了几个项目,那么连续点击“是”将会非常烦人。
最好是单个对话框,只是询问“你确定要删除所选项吗?”抓住意外按钮点击。如果用户不确定他们选择了哪些项目,他们总是可以取消删除并确保删除。