我试图在列表框中找到一个字符串。如果它被发现显示一个消息框,如果没有它会抛出一个不同的消息框。但我在错误的部分得到一个错误。请帮忙。
{
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");
}
}
答案 0 :(得分: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");
}