2017-04-24 83 views
0

我需要在单击“下一步”按钮后逐行显示文本框中第4列的项目。当用户点击下一行时,应显示下一行,直到最后一行。c#循环显示列表视图项并在文本框中每按一次按钮一次显示一行

下面是我到目前为止的代码,只有当按钮'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

好心帮我找出我的位置出了问题。

回答

0

我的建议是,声明一个全局变量,将让你的下一个或上一个点击的指标:

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; 
     } 
} 
+0

感谢:

int intIndex = -1; 

然后在您的btnNext单击事件处理程序,每次点击增加它你威利,这实际上工作。 – BiKe

+0

的方式@willydavidjr,我也想算适合在该列表中循环的特定条件的项目数,我该如何实现这一目标? – BiKe

相关问题