【发布时间】:2017-03-23 02:33:03
【问题描述】:
我的 winform 应用程序在一周中的每一天都有一个列表视图。每个列表视图(listSun、listMon、listTue 等)都有当天的任务列表。我可以通过具体说明列表来删除该项目,但我无法通过选择使其工作。
我希望用户能够从任何一天单击一个项目,并通过一个简单的功能确定选择了哪个列表并删除所选项目。
我目前尝试的逻辑是 Foreach listview 在表单中删除所选项目。这是我到目前为止尝试过的代码。
private void btnDelete_Click(object sender, EventArgs e)
{
foreach (ListView listview in this.Controls)
{
foreach (ListViewItem listitem in listview.SelectedItems)
listitem.Remove();
}
当然这不起作用,但我愿意接受修复或采取其他途径的建议。
【问题讨论】:
-
你确定所有的 ListView 控件都是 this.Controls 的元素吗?也许你在 GroupBox 或 Panels 中做了 ListView。
-
表单没有Groupboxes或Panels,listViews是通过设计器从工具箱中拖放的。
-
你只是想从 listView 中删除 selectedItems,对吧?
-
是的。我只是不想为所有 7 个列表视图(天)重复 foreach 代码。例外情况是:未处理 System.InvalidCastException HResult=-2147467262 消息=无法将“System.Windows.Forms.Label”类型的对象转换为“System.Windows.Forms.ListView”类型。
-
你是在比较 ListViewItem 和一些标签吗?