我有列表视图(有一列)。我已将此列表视图分为两组,如下图所示。
我的问题是:如何找到这样的选择事件:如果我点击奇数组项目(“一个”)然后如果我点击甚至组项目(“两个”),我想做点什么。 / p>
如何在单个if
声明中检查这两个条件?这两个条件是需要在单个if语句中完成的条件。是否可以使用单一条件?
我正在使用C#和WinForms应用程序。有人请帮忙吗?
编辑:
Category names
name 1
name 2
name 3
prices
>100
>200
300+
如果我点击类别名称,然后点击价格范围,我想做点什么。是否有可能在单一条件检查中同时进行?
答案 0 :(得分:1)
尝试使用SelectedIndexChanged事件,如下所示:
void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
var selectedItems = listView1.SelectedItems.Cast<ListViewItem>();
var passed = (selectedItems.Select(l => l.Group.Name).Distinct().Count() == 2 && selectedItems.Count() == 2);
if (passed)
{
//Do something...
}
}
修改(根据评论)
要检索每个选定的项目,请使用以下内容:
注意:要使以下代码生效,您需要将每个ListViewGroup的Name属性分别设置为“Category”和“Price”。
void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
var selectedItems = listView1.SelectedItems.Cast<ListViewItem>();
var passed = (selectedItems.Select(l => l.Group.Name).Distinct().Count() == 2 && selectedItems.Count() == 2);
if (passed)
{
var categoryItem = selectedItems.Where(l => l.Group.Name.ToLower() == "category").Single();
var priceItem = selectedItems.Where(l => l.Group.Name.ToLower() == "prices").Single();
}
}