Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ComboBox_TextChanged в Visual Basic 2005 
:(
    Опции темы
demtruder
Дата 26.7.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



Всем привет!

Если кто знает, поделитесь - при загрузке формы вызывается обработка ComboBox_TextChanged , причём значение ComboBox.Text я устанавливаю в IDE ( Properties -> Text ).

Необходимо, чтобы при загрузке формы эта обработка игнорировалась.

Что с этим можно сделать?

Заранее благодарен!
PM MAIL   Вверх
Naum
Дата 26.7.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 2
Всего: 15



Странно... У меня не вызывается это событие. Ты уверен, что нигде больше не меняешь значения ComboBox.Text?


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
demtruder
Дата 26.7.2007, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



Да, точно не меняю (программно). 

Значения ComboBox.Text и элементов списка заранее определены.

Я так понял, что когда загружается форма, устанавливается значение свойства ComboBox.Text и, соответственно, вызывается обработка события изменения текста.

В принципе, обойти эту ошибку можно - установить значение ComboBox.Text = "Choose ...", а в  ComboBox_TextChanged поставить блок проверки значения:

If ComboBox.Text = "Choose ..." Then GoTo exit_sub

Жаль, что нет больше Combo_Change, как в VB6, который не вызывается при программном изменении значения ComboBox.Text. 
PM MAIL   Вверх
Naum
Дата 26.7.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 2
Всего: 15



Код

this.comboBox1.Text = "Hello";
this.comboBox1.TextChanged += new System.EventHandler(this.comboBox1_TextChanged);

В таком порядке должны идти методы в коде сгенерированном конструктором. Если не так поменяй местами. Т.е. если мы текст меняем до того, как подписались на событие, то метод, вызывающий это событие никак не должен вызываться.

Добавлено через 10 минут и 58 секунд
Сорри, не посмотрел на название подфорума - написал на C#
Код

Me.ComboBox1.Text = "Hello"
AddHandler Me.ComboBox1.TextChanged, AddressOf ComboBox1_TextChanged

А при объявлении самого метода ComboBox1_TextChanged убрать Handles и все, что после него.


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
demtruder
Дата 26.7.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



Огромное благодарю!

Как-то не подумал ипользовать AddHanler ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.