所选列表视图项的数量?

时间:2014-07-08 21:54:36

标签: c# wpf listview

我正在尝试做一个for循环来做某事。只要我,小于listview1中所选项目的数量。像这样:

for (int i = 0; i < listView1.(amountofselecteditems?); i++)

有办法做到这一点吗? 编辑: 这就是我现在所拥有的。

for (int i = 0; i < listView1.SelectedItems.Count; i++)
        {
            try
            {
                selectedClient = listView1.SelectedItems[i].Text;
                Chatserver.DisconnectClient(selectedClient);
            }
            catch (Exception exception)
            {

            }     

        }

这是我的DisconnectClient方法:

public void DisconnectClient(string ClientName)
            {
                foreach (DictionaryEntry dictionaryEntry in this.CONNECTIONS_TABLE)
                {
                    if ((string)dictionaryEntry.Value == ClientName)
                    {
                        try
                        {
                            ((Socket)dictionaryEntry.Key).Close();
                            break;
                        }
                        catch (Exception )
                        {
                        }
                    }
                }
            }

提前致谢

2 个答案:

答案 0 :(得分:4)

所选项目的集合称为SelectedItems。如果你想获得它的长度,那么它将是SelectedItems.Count。所以完整的表达式是listView1.SelectedItems.Count

for循环中,当您想要访问每个所选项目时,您可以这样做:

listView1.SelectedItems[i]

我在DisconnectClient方法中看不到问题。要检查的一件事是所选项目的文本实际上与客户端名称匹配。你真的应该调试它。

此外,您应该使用泛型作为字典。

答案 1 :(得分:1)

我建议使用foreach循环而不是for循环,除非你需要跟踪索引:

foreach (var item in listView1.SelectedItems)
{
    // item is a selected item
}