c#循环查看列表视图项,并通过单击按钮一次在文本框中显示每行

时间:2017-04-24 03:33:53

标签: c# loops listview

点击' next'后,我需要逐行显示文本框中第4列的项目。按钮。当用户单击下一步时,应显示下一行,直到最后一行。

以下是我到目前为止的代码,只显示按钮' next'点击。我似乎无法使循环正确。

public partial class RecordingView : Form
{
    public RecordingView()
    {
        InitializeComponent();
    }

    public void UpdateListView(ListView listView1)
    {
        foreach (ListViewItem item in listView1.Items)
        {
            this.listView1.Items.Add((ListViewItem)item.Clone());
        }
    }

    private void RecordingView_Load(object sender, EventArgs e)
    {
        //Add column header
        listView1.Columns.Add("#", 60);
        listView1.Columns.Add("Start time", 100);
        listView1.Columns.Add("End time", 100);
        listView1.Columns.Add("Duration", 100);
        listView1.Columns.Add("Text", 350);
    }

    private void btnNext_Click(object sender, EventArgs e)
    {

        for (int i = 0; i < listView1.Items.Count; i++)
        {
            string line = listView1.Items[i].SubItems[4].Text; //picks list item

            rtbCurrentLine.Text = line;
        }

    }
}

以下是我的用户界面

user interface

请帮我弄明白我哪里出错了。

1 个答案:

答案 0 :(得分:0)

我建议这样做,声明一个全局变量,它将获得下一个或上一个点击的索引:

int intIndex = -1;

然后在你的btnNext点击事件处理程序上,按点击增加它:

private void btnNext_Click(object sender, EventArgs e)
{   
        if (intIndex <= listView1.Items.Count)
        {
          intIndex++;
          string line = listView1.Items[intIndex].SubItems[4].Text; //picks list item
          rtbCurrentLine.Text = line;
        }  
 }