П-ф-ф-ф-ф... Стыдно! Ещё глупый вопрос. Теперь про ComboBox

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

П-ф-ф-ф-ф... Стыдно! Ещё глупый вопрос. Теперь про ComboBox

Сообщение Георгий2 » 10.09.2007 (Пн) 18:49

Периодически в программе требуется делать Combo.Enabled=False и одновременно чтоб надпись от предыдущего выбора исчезла, то есть чтоб чистое поле текстовое было. Конечно можно иметь нестираемую чистую строку из пробелов и выводить её, но этож стыдно так уродоваться. Подскажите как правильно и потом ругайте! :D
Спасибо. Георгий

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 10.09.2007 (Пн) 19:10

Код: Выделить всё
Combo1.Text = ""
Salus populi suprema lex

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 10.09.2007 (Пн) 19:19

А какой тип у Combo?

Вопрос по теме: а правильнее ли вместо "" использовать Empty?

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Сообщение Георгий2 » 10.09.2007 (Пн) 19:40

dr.MIG, Crio
Большое спасибо

Как раз что-то типа этого Empty я и хотел, солидно как-то! :)

Э-э-э... боюсь сморозить глупость - тип в смысле Style? Dropdown Combo - 0

А как можно самому тему закрывать? Не подскажете?
Последний раз редактировалось Георгий2 10.09.2007 (Пн) 19:44, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 10.09.2007 (Пн) 19:41

Вопрос по теме: а правильнее ли вместо "" использовать Empty?

Нет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 10.09.2007 (Пн) 19:47

Хочешь эстетикики, пиши уж тогда сразу vbNullString :)
А "" в данном случае -- полный эквивалент Empty.
Salus populi suprema lex

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 10.09.2007 (Пн) 19:50

dr.MIG
Ну конечно. Variant::Empty приводится к String и получается "". Но только зачем?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 10.09.2007 (Пн) 20:02

По теме сообщения:
Можно ещё Combo.ListIndex = -1
Это и при стиле Dropdown List работает.

Combo может работать в трёх стилях:

Dropdown combo - можно значение ввести самому, можно нажать стрелку вниз, вывалится список
Simple combo - можно ввести самому, стрелки нет (если нажимать кнопки со стрелками на клавиатуре, то можно переходить по значениям в списке)
Dropdown list - можно только нажать на стрелке и выбрать из списка

По вопросу: спасибо, прояснилось.

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Сообщение Георгий2 » 10.09.2007 (Пн) 20:19

Большое всем спасибо!!! Для меня очень познавательно!
а Combo.ListIndex = -1 я до того попробовал - не сработало!?

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Сообщение Георгий2 » 10.09.2007 (Пн) 20:24

Чёрт побери! а сейчас работает! видно я Style теребил в тот момент и не совпало что-то! А то бы и вопроса тупого не было бы! Но оно к лучшему - так больше узнал. спасибо всем!

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 10.09.2007 (Пн) 20:25

А каким образом не сработало? Ошибку выдало или просто ничего не случилось?

Добавлено:
Да, могло не сработать.

Когда в Combo введено пользовательское значение, то Combo.ListIndex = -1 не срабатывает, нужно через Combo.Text = vbNullString
Когда выбран пункт из списка, то Combo.ListIndex = -1 срабатывает.

В общем, через ListIndex лучше работать, когда стиль Combo Dropdown list
Последний раз редактировалось Crio 10.09.2007 (Пн) 20:52, всего редактировалось 1 раз.

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Сообщение Георгий2 » 10.09.2007 (Пн) 20:43

Возможно что ситуация была как вы пишете:"Когда выбран пункт из списка..."
Ошибку выдало, но я уже не помню что было написано! За компом урывками-работа, беготня, итить её! Я за 10 лет интереса к VB и 2х месяцев не насидел за программированием - потому и вопросы такие! :oops: Обидно! Импотенция называется-люблю я это дело, но не могу! :D


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 82

    TopList