В данной статье рассматривается важность порядка расположения опций в списке и демонстрируется, как можно перемещать опции вверх или вниз в элементе управления ListBox. В VBE (Visual Basic for Applications Editor) эта техника используется для управления порядком выбора опций в окне UserForm.
На скриншоте ниже показано диалоговое окно с элементом управления ListBox и двумя кнопками управления (CommandButton). Нажатие на кнопку "Вверх" перемещает выбранную опцию вверх по списку, а нажатие на кнопку "Вниз" перемещает выбранную опцию вниз по списку.
📌 Скачать файл пример, можно в конце статьи. А также пару дней назад он был выложен на моем телеграмм-канале. Некоторые читатели заранее ознакомились с примером.
Ниже приведены обработчики событий для двух элементов управления CommandButton:
Обработчик события для кнопки "Вверх" (в модуле формы)
Обработчик события для кнопки "Вниз" (в модуле формы)
По умолчанию кнопки "Вверх" и "Вниз" отключены (значение свойства Enabled установлено в False на этапе разработки). Для активации кнопок используется событие Click элемента управления ListBox. Кнопка cmdDown активируется только в том случае, если что-либо выбрано (значение свойства ListIndex больше или равно 0), и выбранный элемент не является последним в списке. Аналогично, кнопка cmdUp активируется, если выбранный элемент не является первым в списке. Вот код процедуры события:
Обработчик события Click для ListBox (в модуле формы)
Если протестировать пример на данном этапе,
вы заметите, что быстрые последовательные щелчки на кнопках "Вверх" и "Вниз" не распознаются как двойные щелчки. Чтобы исправить эту проблему, добавляются две дополнительные процедуры, которые реагируют на события DoubleClick для каждой кнопки. Эти процедуры просто вызывают описанную ранее процедуру обработки события Click.
Обработчики события DoubleClick для кнопок "Вверх" и "Вниз" (в модуле формы)
Для вызова формы и заполнения ListBox значениями (в данном случае днями недели) используется следующая процедура:
Вызов формы и заполнение ListBox (в простом модуле)
✔ На моём телеграмм-канале появился анонс на следующую статью, которая выйдет 12.08.2024 с НОВЫМ Excel файлом-примером. Скачать его уже сейчас можно по этой ССЫЛКЕ