2016-03-21 3 views
0

Im пытается найти строку в списке. если его обнаружено, чтобы отобразить окно сообщения, и если он не выбрал другое окно сообщения. но я получаю ошибку в ложной части. пожалуйста помоги.ошибка при чтении из списка

{  
    string myString = metroTextBox1.Text;//username 
    // Search starting from index -1: 
    int index = listBox1.FindString(myString, -1);//username 

    if (index != -1) 
    { 
     listBox1.SetSelected(index, true);//username 
     MessageBox.Show("ok"); 
    } 
    else 
    { 
     listBox1.SetSelected(index, false);//username 
     MessageBox.Show("error"); 
    } 

} 
+2

какая ошибка ....? – Gusman

+3

Почему вы пытаетесь получить доступ к индексу, когда он установлен в -1 в else part 'listBox1.SetSelected (index, false);' –

ответ

1

Вы пытаетесь установить элемент в свой список, но индекс, который вы передаете, равен -1. Если вы не найдете эту строку в списке, вы не можете установить какой-либо элемент в значение false. Вы могли бы сделать что-то еще, например, перебрать все доступные элементы и установить их в false, но это зависит от того, что вы хотите сделать в том экземпляре, где искомая строка не найдена. Вы можете просто не делать ничего в этом вопросе TBH.

if (index != -1) 
{ 
    listBox1.SetSelected(index, true);//username 
    MessageBox.Show("ok"); 
} 
else 
{ 
    listBox1.SetSelected(index, false);//username // Index == -1 here. This will FAIL. 
    MessageBox.Show("error"); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^