2016-11-19 4 views
-1

Я создал код для поиска по каждой строке в списке, чтобы получить подстроку до первого места (это идентификатор) и проверить, используется ли введенный идентификатор. Я хочу отредактировать этот код, чтобы пропустить проверку выбранного элемента в списке.Как пропустить поиск по выбранному элементу списка в vb.net?

 For Each lstitem As String In Form1.lst_input.Items 
     Dim num As Integer = 0 
     For Each ch As Char In lstitem 
      If Not Char.IsDigit(ch) Then 
       Exit For 
      Else : num += 1 
      End If 
     Next ch 

     If lstitem.Substring(0, Val(num)) = txt_id.Text Then 
      MsgBox("ID is currently in use", MsgBoxStyle.OkOnly, "ID in use") 
      txt_id.Text = "" 
      txt_id.Focus() 
      Exit Sub 
     End If 

Я попытался:

 For Each lstitem As String In Form1.lst_input.Items(Not Form1.lst_input.SelectedItem) 

и

  If lstitem Is Form1.lst_input.SelectedItem Then 

, но не работают.

Может ли кто-нибудь помочь?

+0

Если вы используете типизированный источник данных, вам не придется ничего разбирать. 'ValueMember' даст вам то, что вы хотите – Plutonix

ответ

0

Я окончательно выяснил это. Я использовал следующий код:

 For Each lstitem As String In Form1.lst_input.Items 
     Dim num As Integer = 0 
     If Not lstitem = Form1.lst_input.Items(Form1.lst_input.SelectedIndex) Then 
      For Each ch As Char In lstitem 
       If Not Char.IsDigit(ch) Then 
        Exit For 
       Else : num += 1 
       End If 
      Next ch 
     End If 
     If lstitem.Substring(0, Val(num)) = txt_id.Text Then 
      MsgBox("ID is currently in use", MsgBoxStyle.OkOnly, "ID in use") 
      txt_id.Text = "" 
      txt_id.Focus() 
      Exit Sub 
     End If 
Смежные вопросы