Vb.net 如何使用按钮一次循环一个数组

Vb.net 如何使用按钮一次循环一个数组,vb.net,visual-studio,Vb.net,Visual Studio,这是到目前为止我的代码。我的教授说我不会硬编码。你能帮我完成按钮点击事件下的循环吗。右侧,flash表单将加载并调出文本文件中的第一个术语和定义,但当您单击“下一步”按钮时,它将显示已读入的文件的路径 Public Class frmFlash Private _intSizeOfArray As Integer = 3 Private _strLocationOfTerms(_intSizeOfArray) As String Private _strLocation

这是到目前为止我的代码。我的教授说我不会硬编码。你能帮我完成按钮点击事件下的循环吗。右侧,flash表单将加载并调出文本文件中的第一个术语和定义,但当您单击“下一步”按钮时,它将显示已读入的文件的路径

Public Class frmFlash

    Private _intSizeOfArray As Integer = 3
    Private _strLocationOfTerms(_intSizeOfArray) As String
    Private _strLocationOfDefinitions(_intSizeOfArray) As String
    Private _objReader As IO.StreamReader
    Private _strTerms As String

    Private Sub frmFlash_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim objReader As IO.StreamReader
        Dim strLocationOfTerms As String = "C:\Users\boone\Desktop\Terms.txt"
        Dim strLocationOfDefinitions As String = "C:\Users\boone\Desktop\Definitions.txt"
        Dim intTermArray(4) As Integer
        Dim intCount As Integer

        lblDefinition.Visible = False   

        If IO.File.Exists(strLocationOfTerms) Then
            objReader = IO.File.OpenText(strLocationOfTerms)    
            _strTerms = objReader.ReadLine()    
            lblTerm.Text = _strTerms    
        End If

        If IO.File.Exists(strLocationOfDefinitions) Then
            objReader = IO.File.OpenText(strLocationOfDefinitions)

            strLocationOfDefinitions = objReader.ReadLine()

            objReader.Close()
            lblDefinition.Text = strLocationOfDefinitions
        End If   
    End Sub

    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
        Dim objReader(_intSizeOfArray) As IO.StreamReader
        Dim intCount As Integer = 0
        Dim strTermArray As String
        Dim strLocationOfTerms As String = "C:\Users\boone\Desktop\Terms.txt"
        Dim strLocationOfDefinitions As String = "C:\Users\boone\Desktop\Definitions.txt"

        Do While intCount <= _intSizeOfArray
            lblTerm.Text = strLocationOfTerms(_strTerms)
            lblDefinition.Text = strLocationOfDefinitions
            intCount += 1    
        Loop
    End Sub

    Private Sub btnDefinition_Click(sender As Object, e As EventArgs) Handles btnDefinition.Click
        lblDefinition.Visible = True
    End Sub
End Class
公共类frmFlash
Private _intSizeOfArray作为整数=3
Private _strlocationafterms(_intSizeOfArray)作为字符串
Private _strLocationOfDefinitions(_intSizeOfArray)作为字符串
Private _objReader作为IO.StreamReader
私有_stretrms作为字符串
私有子frmFlash_Load(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
Dim objReader作为IO.StreamReader
Dim strLocationAfterms As String=“C:\Users\boone\Desktop\Terms.txt”
Dim strLocationOfDefinitions为String=“C:\Users\boone\Desktop\Definitions.txt”
Dim INTTERM数组(4)为整数
Dim intCount为整数
lblDefinition.Visible=False
如果IO.File.Exists(strLocationOfTerms),则
objReader=IO.File.OpenText(strLocationAfterms)
_strTerms=objReader.ReadLine()
lblTerm.Text=\u strTerms
如果结束
如果IO.File.Exists(strLocationOfDefinitions)存在,则
objReader=IO.File.OpenText(strLocationOfDefinitions)
strLocationOfDefinitions=objReader.ReadLine()
objReader.Close()
lblDefinition.Text=strLocationOfDefinitions
如果结束
端接头
私有子btnNext\u单击(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理btnNext。单击
Dim objReader(_intSizeOfArray)作为IO.StreamReader
Dim intCount作为整数=0
作为字符串的Dim strTermArray
Dim strLocationAfterms As String=“C:\Users\boone\Desktop\Terms.txt”
Dim strLocationOfDefinitions为String=“C:\Users\boone\Desktop\Definitions.txt”

由于您使用的是数组,因此最简单的方法是完全跳过按钮处理程序中的处理。在
Load
事件中加载数组,只需为它们抓取一个
IEnumerator

'In Class level declarations
Private _termsEnumerator As IEnumerator(Of String)
Private _defsEnumerator As IEnumerator(Of String)

Private Sub frmFlash_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Your other initialization code...
    '...
    'Load your _strLocationOfTerms and _strLocationOfTerms here.
    _termsEnumerator = _strLocationOfTerms.GetEnumerator()
    _defsEnumerator = _strLocationOfDefinitions.GetEnumerator()
End Sub
然后,只需从数组中抓取下一项即可(它们实现了
IEnumerable
):


因为您使用的是数组,所以最简单的方法是完全跳过按钮处理程序中的处理。在
Load
事件中加载数组,只需为它们抓取一个
IEnumerator

'In Class level declarations
Private _termsEnumerator As IEnumerator(Of String)
Private _defsEnumerator As IEnumerator(Of String)

Private Sub frmFlash_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Your other initialization code...
    '...
    'Load your _strLocationOfTerms and _strLocationOfTerms here.
    _termsEnumerator = _strLocationOfTerms.GetEnumerator()
    _defsEnumerator = _strLocationOfDefinitions.GetEnumerator()
End Sub
然后,只需从数组中抓取下一项即可(它们实现了
IEnumerable
):