.net 使用“后退/下一步”按钮功能在标签中显示(字符串)内容列表

.net 使用“后退/下一步”按钮功能在标签中显示(字符串)内容列表,.net,vb.net,.net,Vb.net,初始情况和目标: 我有一个由streamreader从.txt文件逐行填写的列表(字符串)。我创建了一个带有标签的两个按钮(后退和下一个)表单。我想在标签中显示列表的当前内容,并能够使用按钮来回移动 我的代码: 但是我有一个问题,列表中的第二个位置显示在第一个位置,而不是它应该显示的第一个位置。我觉得应该有一个共同的解决方案,因为这必须应用数百万次,但我找不到它。有谁能帮我找到这个问题的解决方案吗?在分析给定位置后,您不能将i+=1放在可能导致算法忽略给定索引的位置(可能在下次单击按钮或不单击按

初始情况和目标: 我有一个由streamreader从.txt文件逐行填写的列表(字符串)。我创建了一个带有标签的两个按钮(后退和下一个)表单。我想在标签中显示列表的当前内容,并能够使用按钮来回移动

我的代码:


但是我有一个问题,列表中的第二个位置显示在第一个位置,而不是它应该显示的第一个位置。我觉得应该有一个共同的解决方案,因为这必须应用数百万次,但我找不到它。有谁能帮我找到这个问题的解决方案吗?

在分析给定位置后,您不能将
i+=1
放在可能导致算法忽略给定索引的位置(可能在下次单击按钮或不单击按钮时处理)。克服“启动问题”的方法是将
i
设置为-1。即:

If i < wb.Count - 1 Then 'count goes from 1 to 5, i goes from 0 to 4
    i += 1
    lblWort.Text = wb(i)
    'List of Words is at the end
Else
'etc

为什么不通过初始化使List.count和i处于相等的位置

Public i as integer=1
然后根据需要调整其余部分

If i <= wb.Count - 1 Then

如果我知道
i=1
指的是列表中的第二个位置,你知道吗?此外,列表中的最大索引是
wb.Count-1
,因此如果您尝试
wb(wb.Count)
,您将得到一个错误。我还了解到,您知道这样一个事实,即即使忽略这两个问题(另一方面,什么是不可能的),您所提出的与OP的代码基本相同。你能解释一下这个答案的确切意思吗?你有没有试图用你的解决方案编辑OP的代码?!你不能那样做!!!我认为您应该深入查看SO帮助页面,也许在回答之前先开始询问/学习一些内容(您知道,这里的一些人有点挑剔,希望回答者知道他们在说什么)。作为个人评论(到目前为止是客观的),我必须补充一点,你的行为令人印象深刻(非常糟糕):做一些毫无意义的事情(在各个方面),有人向你解释,并表现出一种非常(不)尊重的态度(不改变任何事情也不回答)。呃?对不起,我不太清楚列表是如何工作的,我没有多想就回答了。。顺便说一句,你的ans似乎工作。是的,我有很多要知道你在.NET。NET中的所有集合(数组、列表、字典等)都从零开始,因此最后一个索引等于给定集合的长度(本例中为wb.Count)减去1。如果你有正确的态度,学习是很容易的。但是,如前所述,如果你对某事不确定,你不应该回答;这里的人们希望从知道他们谈论什么的人那里得到答案。我猜你也一样:想象一下你来这里问一个问题,你得到了一堆答案,这些答案带来的错误甚至比你原来遇到的还要多。放松点,你会享受很多的
Public i As Integer = -1
Public i as integer=1
If i <= wb.Count - 1 Then
If i <= wb.Count Then