C# 列表视图所选索引更改与列表框所选索引更改之间的类比

C# 列表视图所选索引更改与列表框所选索引更改之间的类比,c#,winforms,listview,C#,Winforms,Listview,我有一个列表框的处理程序: private void list_answers_SelectedIndexChanged(object sender, EventArgs e) { for (int i = 0; i < tasks.Count; i++) { if (list_answers.Text == "Question №" + (i + 1)) {

我有一个列表框的处理程序:

private void list_answers_SelectedIndexChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < tasks.Count; i++)
            {
                if (list_answers.Text == "Question №" + (i + 1))
                {
                    this.ShowOnePanel(i);
                    iter = i;
                    break;
                }
            }
        }
private void list\u answers\u SelectedIndexChanged(对象发送方,事件参数e)
{
for(int i=0;i
对于列表视图:

private void list_answers_SelectedIndexChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < tasks.Count; i++)
            {
                if (list_answers.Items[i].Text == "Question №" + (i + 1))
                {
                    this.ShowOnePanel(i);
                    iter = i;
                    break;
                }
            }
        }
private void list\u answers\u SelectedIndexChanged(对象发送方,事件参数e)
{
for(int i=0;i
它适用于listbox,但不适用于listview。为什么? P.S.
ShowOnePanel
是我的方法,它显示了一个有问题的面板

if (list_answers.Items[i].Text == "Питання №" + (i + 1))
我猜是
“问题”
而不是
“Паааа”

编辑

private void list_answers_SelectedIndexChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < tasks.Count; i++)
            {
                if (list_answers.Items[i].Selected == true) // find selected item

                {
                    if (list_answers.Items[i].Text == "Question №" + (i + 1)) // check it's content
                    this.ShowOnePanel(i);
                    iter = i;
                    break;
                }
            }
    }
private void list\u answers\u SelectedIndexChanged(对象发送方,事件参数e)
{
for(int i=0;i
不,不是。我只是输入错误。这不是问题,它不会导致任何错误。但它不能正常工作。对于listbox,它以我需要的方式工作。对于listview,此处理程序不能工作,导致程序不能正常工作