ListBox

0

Witam
Jak przekształcić poniższy kod, aby zamiast wyświetlał wybrane elementy, zapisywał je np. do tablicy.

        for (int h = 0; h < ListBox1.Items.Count; h++)
        {
            if (ListBox1.Items[h].Selected)
                Message.Text = Message.Text + ListBox1.Items[h].Text + "<br />";
        }
0
kawczyn napisał(a)
    for (int h = 0; h < ListBox1.Items.Count; h++)
    {
        if (ListBox1.Items[h].Selected)
            Message.Text = Message.Text + ListBox1.Items[h].Text + "<br />";
    }


Na przykład tak:

    List<T> list = new List<T>();

    ...

    for (int h = 0; h < ListBox1.Items.Count; h++)
    {
        if (ListBox1.Items[h].Selected)
            list.Add(ListBox1.Items[h]);
    }

Gdzie T to typ danych przechowywanych w listboxie;
0

A w jaki sposób ograniczyć użytkownikowi wybór elementów w Listboxie np. do 4?

0

jako datasource podac tylko te 4 itemy o_O
rozszerzenia ienumerable<T> daja latwosc filtrowania kolekcji

0

Chyba się żle zrozumieliśmy. Chodzi mi o to, że w ListBoxie mam np. 15 elementów(zależy to od bazy danych) i chciałbym aby użytkownik mógł wybrać maksymalnie 4 elementy. Jak to wykonać?

0

Trzeba się trochę zastanowić, przejrzeć właściwości listboxa, kombinować...

Piszę to z pamięci i nie sprawdzałem tego rozwiązania: Możesz na przykład podpiąć się pod event SelectionChanget lub coś pokrewnego. Tam sprawdzić jaką długość ma lista która trzyma zaznaczone elementy (SelectedItems klasy listbox). Jeśli jest dłuższa niż 4 to usuwasz z niej ostatni element.

0

A nie da się tak, aby użytkownik nie mógł zaznaczyć piątego elementu?

0

Możesz prawdopodobnie w zdarzeniu zaznaczania elementu anulować jego akcję, gdy liczba elementów zaznaczonych przekroczy dopuszczalną przez Ciebie wartość.

0
somekind napisał(a)

Możesz prawdopodobnie w zdarzeniu zaznaczania elementu anulować jego akcję, gdy liczba elementów zaznaczonych przekroczy dopuszczalną przez Ciebie wartość.

A można jakieś konkrety prosić?

0

Większego konkretu nie da się dać. Powiedział Ci co zrobić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1