Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Source
-
- Постоялец
-
-
- Сообщения: 351
- Зарегистрирован: 04.09.2007 (Вт) 11:21
Source » 01.11.2007 (Чт) 23:48
Надо передать фокус TextBox при клике на Item ListView. Всё бы ничего, но вот почему 2 раза вызывается ListView1_ItemClick?
- Вложения
-
- SetFocusTbx.zip
- (1.48 Кб) Скачиваний: 35
-
Lumen
-
- Постоялец
-
-
- Сообщения: 841
- Зарегистрирован: 03.12.2005 (Сб) 16:09
- Откуда: Брянск
-
Lumen » 02.11.2007 (Пт) 0:51
А зачем передавать фокус текстбоксу в событии MouseUp, если можно (и наскока я понял из условия задачи нужно) его передавать и в событии Click?
Подпись проходит рефакторинг
-
Source
-
- Постоялец
-
-
- Сообщения: 351
- Зарегистрирован: 04.09.2007 (Вт) 11:21
Source » 02.11.2007 (Пт) 1:11
а ты попробуй и увидишь что получится
-
EUGY
-
- Бывалый
-
-
- Сообщения: 214
- Зарегистрирован: 09.11.2006 (Чт) 22:51
- Откуда: Мурманск
EUGY » 02.11.2007 (Пт) 13:01
Похоже срабатывает внутренний таймер в listview, в этом можно убедиться через spy+. И похоже он нужен для того, чтоб начать редактирвание ячейки после mouseup даже если .LabelEdit = lvwManual.
Попробуй исправить так:
- Код: Выделить всё
Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Debug.Print "ListView1_MouseUp"
Text1.SetFocus
ListView1.StartLabelEdit
End Sub
-
Source
-
- Постоялец
-
-
- Сообщения: 351
- Зарегистрирован: 04.09.2007 (Вт) 11:21
Source » 02.11.2007 (Пт) 16:15
а почему ты ставишь ListView1.StartLabelEdit после передачи фокуса? Если добавить ещё Items, повторный вызов ListView1_ItemClick прекращается, т.е. повторный вызов существует при одном Item. Интересно, почему?
-
EUGY
-
- Бывалый
-
-
- Сообщения: 214
- Зарегистрирован: 09.11.2006 (Чт) 22:51
- Откуда: Мурманск
EUGY » 02.11.2007 (Пт) 17:44
1. А в чем разница?
2. Эффект тот-же при любом кол-ве items, если курсор мыши над item
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, YaCy [Bot], Yandex-бот и гости: 14