|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
Добрый день У меня есть заполненный список listBox1 на userform Я хочу выбрать от туда несколько элементов и добавить их в таблицу, на новые строки. Вот у меня получается дубляж. в одном варианте, когда я уже выбрал и нажал кнопку, добавить выбранные элементы, то после операции в ListBox1 эти элементы остаются и можно их выбрать снова и они снова "добавятся" и это не хорошо, получится дубляж. Я вижу два варианта решения, но оба они не идеальны. 1. ListBox1.RemoveItem ListBox1.ListIndex - но в этом случаи когда я выбираю два элемента - я получаю ошибку. Если один то нормально. А у меня мульти выбор. 2. закрыть форму вместе с кнопкой и листбоксом - Unload UserForm1. Сделал выбор, нажал кнопку и форма сама закрылась. И самое главное ListBox1 заполняется как раз при обращении к UserForm_Initialize() и при повторном открытии выбранных ранее элементов в ListBox1 уже не будет. Но в этом случаи происходит за двоение. Цикл срабатывает почему то дважды, при выборе 1 элемента из списка listBox1. Я прикрепляю черновой файл, где по нажатию на кнопку откроется заполненная форма и левом списке можно будет делать выбор. код самого цикла выбора элемента на ListBox1 Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 15:49 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
lopuxi1. ListBox1.RemoveItem ListBox1.ListIndex - но в этом случаи когда я выбираю два элемента - я получаю ошибку. Если один то нормально. А у меня мульти выбор.Почему просто в цикле не удалить ненужные элементы? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 16:07 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
Shocker.Pro, Лишние это какие? если только переделать строку Код: vbnet 1.
остальные не уберешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 16:10 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
Shocker.Pro, Стоп. Не правильно прочитал. В цикле удалить не нужные элементы? А как? Если я использую ListBox1.RemoveItem ListBox1.ListIndex То он удаляет эти выделенные в listBox элементы. И на этом моменте цикл выдает ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 16:13 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
ListBox1.ListIndex - это не выделенные элементы, это индекс элемента, на котором стоит курсор ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 16:19 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
Shocker.Pro, Я пробовал и так ListBox1.RemoveItem (p) удалять элементы по отдельности. Но ошибку это не исправило. Как я понимаю причина в том что убрав элемент в первом шаге цикла, я сбиваю его на втором. Так как именно на вторичном запуске, он выдает ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 16:29 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
удалять надо с конца ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 16:30 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
Освой свойство ItemData И таки да - если ты удаляешь элементы цикла в процессе обработки их циклом, то конечно нужно думать об изменении параметров цикла. Ну или просто устроить цикла с конца к началу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 16:32 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
Shocker.Pro, что-то у меня ни чего не получилось ( Попытался от последнего, выделенные элементы удалить. А цикл даже не запускается. Код: vbnet 1. 2. 3. 4. 5. 6. 7.
мой мозг на сегодня походу дела умер.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 19:15 |
|
Оптимизация мультивыбора в listBox
|
|||
---|---|---|---|
#18+
Step -1 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 19:42 |
|
|
start [/forum/topic.php?fid=60&msg=38977772&tid=2155904]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 147ms |
0 / 0 |