2016-07-04 14 views
-1

При попытке закрыть мою Windows-формулу есть странная ошибка ... Я пытаюсь выполнить строчную манипуляцию с этой строкой: ABEL, SCOTT - 1472 (COL), когда выбран ComboBox Пункт изменен. Он может работать, как вы можете видеть из отладчика ниже, но когда форма закрывается, появляется ошибка.Форма закрывает ошибку: ArgumentException был необработанным при использовании строк в VB.net

Мои объекты ComboBox заполнены источником данных с помощью функции Me.GetRunnersTableAdapter.Fill(Me.WSCDbDataSet.GetRunners).

Это ошибка?

enter image description here

+0

Просто с экрана, это довольно очевидно, что ошибка: 'cmbRunner.text = ""', и myLastName является 0, которые оставляют линии 27 что-то вроде 'LastName.Text = Strings.Left ("", -1). Конечно, это вызовет ошибку из-за аргумента -1. И в этом случае вместо использования Left, Right или Mid я предлагаю использовать Split. – HaPhan

ответ

-1

Я получил его на работу с помощью 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