Combobox_Click() и Change() не работают! Как такое возможно!

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

Combobox_Click() и Change() не работают! Как такое возможно!

Сообщение Plotter » 03.12.2003 (Ср) 22:14

Ну... собственно из названия темы все и видно... Самый простой пример, который в VB.Net пашет просто превосходно в шестом работать отказывается напрочь... Ошибок не выдает, но события Click и Change для комбобокса программой не воспринимаются... GotFocus работает отлично, но он мне немного не подходит... вместо клика я его еще и могу вставить, но что делать с ченджем... Не может он не работать!!! Я уже начинаю думать, что у меня ВБ глюкавый... Может это так?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 03.12.2003 (Ср) 22:40

Имеются в виду события

Private Sub Combo1_Change()
MsgBox "!!!"
End Sub

Private Sub Combo1_Click()
MsgBox "???"
End Sub

Клик сработает пи щелчке на элементе выпадающего списка, т.е. нужно ещё и

Private Sub Form_Load()
Combo1.AddItem "***"
End Sub


У меня всё работает на VB 6.0 Professional

Plotter
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 03.12.2003 (Ср) 21:57
Откуда: Москва

Сообщение Plotter » 03.12.2003 (Ср) 22:48

Про пустой комбо я уже раньше слышал, хотя в седьмом клик по-моему вызывается на самом комбо, а не на элементе... Но тем не менее комбо не пусой... Элементы там ТОЧНО есть, тк я их вижу... Но не работает... Может ли это быть вызвано какими-то моими действиями или это глюк? :(
Всегда есть способ сделать то, что сделать невозможно.

Plotter
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 03.12.2003 (Ср) 21:57
Откуда: Москва

Сообщение Plotter » 03.12.2003 (Ср) 22:51

Тут даже дело заключается не в клике - его я переделаю в готфокус, тем более если клик - это не то, что я думал.... Может и про Чендж что-нибудь подобное есть? Он срабатывает фактически при изменении Combo.text или я не прав?
Всегда есть способ сделать то, что сделать невозможно.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 03.12.2003 (Ср) 22:58

По моим изысканиям, Combo1_Change срабатывает, действительно, по изменению Combo1.Text...

Сам попробуй: поставь в код событие Combo1_KeyDown и поставь там точку останова (breakpoint, на заголовке события)...

Когда нажимаешь, скажем, F5, то текст комбобокса не меняется, а событие KeyDown происходит, => Change срабатывает при изменении текста в поле...

:wink:

Plotter
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 03.12.2003 (Ср) 21:57
Откуда: Москва

Сообщение Plotter » 03.12.2003 (Ср) 23:07

Ну да... КейДаун отлично работает, а вот чэндж - нет... Ошибка моего VB?
Всегда есть способ сделать то, что сделать невозможно.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 03.12.2003 (Ср) 23:14

Вполне возможно, точнее говоря, скорее всего так :)

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

Сообщение GSerg » 04.12.2003 (Чт) 9:25

При изменении выбранного элемента change не происходит. Происходит Click. А Change происходит, если стиль комбо, т.е. когда юзер вводит элемент с клавы.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

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

    TopList