Я хочу найти список для значения объекта, которое я сделал. Это строка переопределения. Вот как элементы добавляются в список.C# Выбор нескольких результатов в поиске по списку?
public override string ToString()
{
string reservatiestring;
reservatiestring ="Kamer: " + roomNumber + " Op datum: " + datum + " Aantal personen: " + personen.Count + " Naam: " + reservatienaam;
return reservatiestring;
}
Теперь я хочу выполнить поиск в моем списке для получения результатов в поиске определенного номера номера. Все номера номеров сохраняются в выпадающем списке. Это то, что я есть в данный момент:
private void buttonSearch_Click(object sender, EventArgs e)
{
foreach (var item in listBox1.Items)
{
for (int i = listBox1.Items.Count - 1; i >= 0; i--)
{
if (listBox1.Items[i].ToString().ToLower().Contains(comboBox1.SelectedText.ToLower()))
{
listBox1.SetSelected(i, true);
}
else
{
MessageBox.Show("error");
}
}
Это выбирает только один результат, хотя и его не указано только на roomNumber объекта. Когда я поставил в Еогеаспе, чтобы сделать его выбрать несколько элементов, моя программа не удалась, и я получил следующее сообщение об ошибке:
The list that this enumerator is bound to has been modified. An enumerator can only be used if the list is not changed
Дополнительной информацию, как просил! Это где я добавить информацию в ListBox:
private void btnReserve_Click(object sender, EventArgs e) { Reservations reservatie = new Reservations();
reservatie.roomNumber = Convert.ToInt32(numericUpDownroom.Value);
reservatie.datum = dateTimePicker1.Value;
reservatie.reservatienaam = textBoxName1.Text;
for (int i = 0; i <= personcount; i++)
{
Person persoon = new Person();
persoon.naam = textBoxName1.Text;
persoon.leeftijd = Convert.ToInt32(numericUpDownAge1.Value);
reservatie.personen.Add(persoon);
}
if (!comboBox1.Items.Contains(reservatie.roomNumber))
{
comboBox1.Items.Add(reservatie.roomNumber);
}
else
reservaties.Add(reservatie);
listBox1.FormattingEnabled = false;
listBox1.Items.Add(reservatie.ToString());
Ошибка: the error when it pops up. The dutch additional information is the initial error message.
Не могли бы вы поделиться некоторыми больше кода или предоставить более полное сообщение об исключении? Из кода, который вы предоставили, ни comboBox, ни listBox не были удалены или добавлены элементы, что, по-видимому, является состоянием сообщения (изменение свойства «Selected» обычно не дает такого типа ошибок. – VilladsR
Вы не можете изменять элементы, привязанные к foreach внутри итерации, так что это вызывает проблему, но ваше решение должно быть в порядке с циклом for, если вы отметили свой выборMode на несколько. –
Добавлен больше кода для уточнения, спасибо за быстрые ответы! –