c# 遍历 ListView 项并通过单击按钮一次在文本框中显示一行

标签 c# loops listview

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

下面是我目前的代码,它只在单击“下一步”按钮时显示最后一行。我似乎无法正确循环。

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

请帮我找出我哪里做错了。

最佳答案

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

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;
          rtbCurrentLine.Text = line;
        }  
 }

关于c# 遍历 ListView 项并通过单击按钮一次在文本框中显示一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43579382/

相关文章:

c# - 如何从 WPF 中通过 SaveFileDialog 保存 BitmapImage?

c# - LINQ 中的 GroupBy 与字符串 [] 数组

javascript - 循环播放 Bootstrap Popover

python - 从 numpy 数组绘制多个数据系列

c++ - 在 Arduino 中制作更好的循环

android - 几秒钟后如何删除 ListView 项目?

c# - 如何对调用 Action 的 HTML Helper 进行单元测试?

c# - 选择静态选择列表的值

Android Listview 从 url 加载 imageview

android - 如何将数据搜索到 json ListView 中?