Удаление выделенных элементов из ListBox`a

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Удаление выделенных элементов из ListBox`a

Сообщение jangle » 26.06.2006 (Пн) 16:20

Подскажите, как правильно удалять выделенные элементы в ListBox. Мой код сваливается с ошибкой Invalid property array index

Стиль ListBox - CheckBox

Код: Выделить всё
Option Explicit

Private Sub Form_Load()
Me.List1.AddItem "1111111111111"
Me.List1.AddItem "22222222222"
Me.List1.AddItem "3333333333333"
Me.List1.AddItem "444444444444"
Me.List1.AddItem "555555555555"

End Sub


Private Sub Command1_Click()
    Dim i As Long
    For i = 0 To List1.ListCount - 1
     If List1.Selected(i) = True Then
        List1.RemoveItem (i)
     End If
    Next i
End Sub

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.06.2006 (Пн) 16:21

А ты всё-таки сам догадайся, почему.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.06.2006 (Пн) 16:23

Выполни свой код пошагово (F8).
Lasciate ogni speranza, voi ch'entrate.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 26.06.2006 (Пн) 16:35

А понял! Элементы надо удалять с конца ListBox`a


Код: Выделить всё
Private Sub Command1_Click()
    Dim i As Long
    For i = List1.ListCount - 1 To 0 Step -1
     If List1.Selected(i) = True Then
        List1.RemoveItem (i)
     End If
    Next i
End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 27

    TopList