C#Windows窗体如何获取ListView项

C#Windows窗体如何获取ListView项,c#,winforms,listview,C#,Winforms,Listview,我试图用C#(Windows窗体)中的列表视图创建一个包含项目的字符串。我的ListView中有两列和数百个三位数的数字。这些值指示鼠标所在的X轴和Y轴。但是,当我尝试在文本框中输出值时,仅会显示最后的X和Y值,其余值将被忽略。 我所尝试的: listView1.Items[a].SubItems[0].Text int.Parse(listView1.Items[a].SubItems[0].Text) 也许有人有一个建议您是否为您的项目使用循环?不清楚a来自哪里。您可能还希望对子项使用循环

我试图用C#(Windows窗体)中的列表视图创建一个包含项目的字符串。我的ListView中有两列和数百个三位数的数字。这些值指示鼠标所在的X轴和Y轴。但是,当我尝试在文本框中输出值时,仅会显示最后的X和Y值,其余值将被忽略。 我所尝试的:

listView1.Items[a].SubItems[0].Text
int.Parse(listView1.Items[a].SubItems[0].Text)

也许有人有一个建议

您是否为您的项目使用循环?不清楚
a
来自哪里。您可能还希望对子项使用循环。 您可以循环浏览所有项和子项,如下所示:

for (int i = 0; i < listView1.Items.Count; i++)
{
    for (int k = 0; k < listView1.Items[i].SubItems.Count; k++)
    {
        string s = listView1.Items[i].SubItems[k].Text;
    }
}
for(int i=0;i
您的项目是否使用循环?不清楚
a
来自哪里。您可能还希望对子项使用循环。 您可以循环浏览所有项和子项,如下所示:

for (int i = 0; i < listView1.Items.Count; i++)
{
    for (int k = 0; k < listView1.Items[i].SubItems.Count; k++)
    {
        string s = listView1.Items[i].SubItems[k].Text;
    }
}
for(int i=0;i
您需要以以下方式迭代项和子项:

foreach (ListViewItem item in listView1.Items)
{
    Debug.WriteLine($"Item: {item.Text}");

    foreach (ListViewItem.ListViewSubItem subitem in item.SubItems)
    {
        Debug.WriteLine($"\tSubitem:{subitem.Text}");
    }
}

您需要以以下方式迭代项和子项:

foreach (ListViewItem item in listView1.Items)
{
    Debug.WriteLine($"Item: {item.Text}");

    foreach (ListViewItem.ListViewSubItem subitem in item.SubItems)
    {
        Debug.WriteLine($"\tSubitem:{subitem.Text}");
    }
}
谢谢你们的帮助,伙计们, 唯一缺少的是循环和这一行
Value+=Environment.NewLine+

你的建议都奏效了

            foreach (ListViewItem item in listView1.Items)
            {
                Value += Environment.NewLine + item.Text;

                foreach (ListViewItem.ListViewSubItem subitem in item.SubItems)
                {
                    Value += Environment.NewLine + subitem.Text;
                }
            }

for(int i=0;i
谢谢你们的帮助, 唯一缺少的是循环和这一行
Value+=Environment.NewLine+

你的建议都奏效了

            foreach (ListViewItem item in listView1.Items)
            {
                Value += Environment.NewLine + item.Text;

                foreach (ListViewItem.ListViewSubItem subitem in item.SubItems)
                {
                    Value += Environment.NewLine + subitem.Text;
                }
            }

for(int i=0;i
a
中有什么?您肯定需要一个循环来循环所有listview项。我们只能猜测,由于某种原因,
a
指向最后一个元素。所以原则上,在一列中插入一个循环而不是“a”?a
中有什么?您肯定需要一个循环来循环所有listview项。我们只能猜测,由于某种原因,
a
指向最后一个元素。所以原则上,为一列插入一个循环而不是“a”?