Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t访问列表项_C#_Winforms - Fatal编程技术网

C# Can';t访问列表项

C# Can';t访问列表项,c#,winforms,C#,Winforms,我正在尝试获取listbox1.SelectedItems的所有标记,因此我想使用如下foreach: foreach (ListItem itm in listBox1.SelectedItems) { MessageBox.Show(itm.Tag); } 但是VS2010没有找到“ListItem”,我需要添加那个特定的引用。。但是我找不到它。我可以执行其他操作,或者在哪里可以找到该引用或程序集。属性列表框1。SelectedIte

我正在尝试获取listbox1.SelectedItems的所有标记,因此我想使用如下foreach:

foreach (ListItem itm in listBox1.SelectedItems)
        {
            MessageBox.Show(itm.Tag);
        }

但是VS2010没有找到“ListItem”,我需要添加那个特定的引用。。但是我找不到它。我可以执行其他操作,或者在哪里可以找到该引用或程序集。

属性
列表框1。SelectedItems
返回
对象的集合。这些是您选择的实际对象。没有
ListItem
对象


尝试使用
var
关键字。然后让编译器通过将光标悬停在它上面来确定它的类型。它显示了什么对象类型


它似乎是
ListViewItem
,但是您尝试使用
ListItem
类型

listBox1.SelectedItems
返回对象的集合,因此这取决于将对象添加到列表框时对象的类型。例如,如果您将它们添加为字符串,您只需执行以下操作:

foreach (String str in listBox1.SelectedItems)
{
    MessageBox.Show(str);
}

listBox1.SelectedItems的类型为ListBox.ObjectCollection。你为什么要投到ListItem

您可以创建自定义对象,并使用以下命令将其绑定到ListBox对象:

listBox1.DataSource = YOUR_CUSTOM_OBJECT_ARRAY
然后遍历您的项目:

foreach (YOUR_CUSTOM_OBJECT itm in listBox1.SelectedItems)
    {
        MessageBox.Show(itm.CUSTOM_PROPERTY);
    }
您可以在此处找到一个示例:

如果您希望解析数据绑定集合并将其显示到列表框中,Gordon会给出答案。如果您希望解析可视化树并获取ListItem,那么VisualTreeHelper类拥有解析此类数据所需的一切


尝试使用
var
关键字。然后让编译器通过将光标悬停在它上面来确定它的类型。我想检索该项的标记,因为它与item.MessageBox.Show((Control(itm)).tag)的文本不同,假设您在foreach中更改为使用var;那么,我怎样才能抛出我所有的listbox1.SelectedItems并显示标记呢?这取决于你放入的对象是否支持“Tag”属性。您在列表中放入了什么类型的对象?ListViewItem itms=new ListViewItem();itms.Text=“测试”;itms.Tag=“test2”;它似乎是
ListViewItem
,但是您尝试使用
ListItem
类型。我认为这有点过分,因为
ListViewItem
具有XandrUu想要的标记属性。