powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Код для обработки события ListBox1_MouseDown
9 сообщений из 9, страница 1 из 1
Код для обработки события ListBox1_MouseDown
    #36275891
Mishel97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброе время суток !

На форуме SQL.RU была тема по событию ListBox1_MouseDown. Не могу её найти.
А вопрос такой: Какой код необходимо вписать в процедуру обработки события ListBox1_MouseDown (см. ниже) для того, что бы кликом левой кнопкой мыши по опции ListBox на форме можно было эту опцию записать на лист Excel ? И, в частности, два раза подряд.


Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

код?

Worksheets("Лист1").Cells(1, 1).Value = UserForm1.ListBox1
End Sub
...
Рейтинг: 0 / 0
Код для обработки события ListBox1_MouseDown
    #36277062
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
        private void listBox1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left) {
                MessageBox.Show(listBox1.Items[listBox1.SelectedIndex].ToString());
            }
            
        }
?
...
Рейтинг: 0 / 0
Код для обработки события ListBox1_MouseDown
    #36280975
Mishel97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Devider! Спасибо за подсказку.

Необходимо же всего лиш для VBA.
Один из вариантов повторной записи на лист Excel, выбранной ранее опции ListBox может быть такой:

Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
ListBox1.ListIndex = -1
End Sub

Private Sub ListBox1_Click()
Код
End Sub

Т. е. используются две процедуры. Работает в принципе не плохо, но возможно есть код из одной процедуры ?! Предложенный код на С++ реализует эту задачу в одной процедуре. Не плохо бы его перевести в VBA !
...
Рейтинг: 0 / 0
Код для обработки события ListBox1_MouseDown
    #36281685
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется лучше по Mouse_UP выполнять действия.
...
Рейтинг: 0 / 0
Код для обработки события ListBox1_MouseDown
    #36283182
Mishel97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лучше потому, что есть такой код для ListBox1_MouseUp

Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Range("a" & Rows.Count).End(xlUp)(2, 1) = Me.ListBox1
End Sub,

а аналогичного кода для ListBox1_MouseDown нет ?
...
Рейтинг: 0 / 0
Код для обработки события ListBox1_MouseDown
    #36283757
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не поэтому. По Mouse_Up лучше потому, что у юзера имеется возможность в последний момент скорректировать действие, если указатель мыши попал не в ту ячейку - отвести ее в сторону и отпустить кнопку. А если по Mouse_Down, то такой возможности не будет.
...
Рейтинг: 0 / 0
Код для обработки события ListBox1_MouseDown
    #36283763
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ Более правильно обрабатывать оба события. Действие производить по Mouse_Up при условии, что координаты ячейки по Mouse_Down совпадают с координатами по Mouse_Up.
...
Рейтинг: 0 / 0
Код для обработки события ListBox1_MouseDown
    #36284075
Mishel97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Согласен. Выполнять действие по Mouse_Up надёжнее. Спасибо !
Если сам не делаеш такой промашки с указателем мыши, то лучше её предусмотреть у других юзеров !
Не ясна более правильная обработка двух событий. Координаты ячеек по Mouse_Down и Mouse_Up совпадают. Действие выполняется по Mouse_Up, например, так:

Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Range("a" & Rows.Count).End(xlUp)(2, 1) = Me.ListBox1
End Sub.

Как (где) добавить обработку Mouse_Down ? И не будет ли эта обработка влиять на возможность отвода указателя мыши ?
...
Рейтинг: 0 / 0
Код для обработки события ListBox1_MouseDown
    #36284103
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C "более правильной обработкой" я пришел к выовду, что это излишне. Просто по Mouse_Up.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Код для обработки события ListBox1_MouseDown
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]