Vb.net 如何使用按钮一次循环一个数组
这是到目前为止我的代码。我的教授说我不会硬编码。你能帮我完成按钮点击事件下的循环吗。右侧,flash表单将加载并调出文本文件中的第一个术语和定义,但当您单击“下一步”按钮时,它将显示已读入的文件的路径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
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
):