Ich möchte ein Listenfeld nach einem Objektwert suchen, den ich gemacht habe. Dies ist die Überschreibungszeichenfolge. So werden Elemente in das Listenfeld eingefügt.C# Auswählen mehrerer Ergebnisse in einer Listbox-Suche?
Ich möchte jetzt in meiner Listbox nach Ergebnissen suchen, während ich nach einer bestimmten roomNumber suche. Alle roomNumbers werden in einer Combobox gespeichert. Dies ist, was ich habe zur Zeit:
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");
}
}
Dies wählt nur ein Ergebnis, obwohl und es ist nicht nur auf die Zimmernummer Objekt angegeben. Wenn ich in der foreach setzen, um es mehrere Artikel auszuwählen, mein Programm nicht und ich habe den folgenden Fehler:
The list that this enumerator is bound to has been modified. An enumerator can only be used if the list is not changed
Zusätzliche Informationen wie gefragt! Diese ist, wo ich die Informationen in das Listenfeld hinzufügen:
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());
Der Fehler: the error when it pops up. The dutch additional information is the initial error message.
Könnten Sie einige teilen mehr Code oder eine vollständigere Ausnahmebedingungsnachricht bereitstellen? Von dem von Ihnen bereitgestellten Code haben weder die comboBox noch die listBox Elemente entfernt oder adde, was zu dem zu sein scheint, was die Nachricht angibt (Änderung der Eigenschaft "Selected" führt normalerweise nicht zu diesem Fehlertyp.) – VilladsR
Sie können die gebundenen Elemente nicht ändern foreach innerhalb der Iteration, also ist das, was das Problem verursacht, aber Ihre Lösung sollte in Ordnung sein mit der for-Schleife, wenn Sie Ihren selectionMode auf mehrere –
Mehr Code zur Klärung, danke für die schnelle Antworten! –