表单关闭错误:在VB.net中使用字符串时未处理ArgumentException
当我试图关闭我的Windows窗体时,出现了一个奇怪的错误。。。我正在尝试对此字符串执行字符串操作:表单关闭错误:在VB.net中使用字符串时未处理ArgumentException,vb.net,string,combobox,argumentexception,Vb.net,String,Combobox,Argumentexception,当我试图关闭我的Windows窗体时,出现了一个奇怪的错误。。。我正在尝试对此字符串执行字符串操作:ABEL,SCOTT-1472(COL)当组合框所选项目发生更改时。从下面的调试器中可以看到,它可以正常工作,但是当窗体关闭时,会抛出一个错误 我的组合框项由数据源填充,数据源使用Me.getrunnerstabledapter.Fill(Me.WSCDbDataSet.GetRunners)函数 这是虫子吗 我通过使用Try,Catch让它工作起来 Dim myLastName myLastNa
ABEL,SCOTT-1472(COL)
当组合框所选项目发生更改时。从下面的调试器中可以看到,它可以正常工作,但是当窗体关闭时,会抛出一个错误
我的组合框项由数据源填充,数据源使用Me.getrunnerstabledapter.Fill(Me.WSCDbDataSet.GetRunners)
函数
这是虫子吗
我通过使用
Try,Catch
让它工作起来
Dim myLastName
myLastName = InStr(1, cbRunner.Text, ",")
Dim myFirstName
myFirstName = InStr(myLastName + 2, cbRunner.Text, "-")
Dim myBibNumber
myBibNumber = InStr(myFirstName + 2, cbRunner.Text, "(")
Try
LastName.Text = Trim$(Strings.Left(cbRunner.Text, myLastName - 1))
FirstName.Text = Trim$(Mid(cbRunner.Text, myLastName + 2, myFirstName - myLastName - 2))
BibNumber.Text = Trim$(Mid(cbRunner.Text, myFirstName + 2, myBibNumber - myFirstName - 2))
Catch ex As ArgumentException
End Try
仅从您的屏幕上就可以清楚地看到错误是什么:“cmbRunner.text=”“”,myLastName是0,这使得第27行类似于
LastName.text=Strings.Left(“,-1)
。当然,由于-1参数,这将引发错误。在这种情况下,我建议您使用Split,而不是Left、Right或Mid。