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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача аргументов(обьектов) в событие 
V
    Опции темы
Stratus
Дата 14.5.2010, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Коллеги,

подскажите пожалуста  как можно в событие передать аргумент?

мне нужно в момент присвоения полю Текст ТекстБокса значения, 
чтобы воспроизводился код которому это значение нужно передать

Код

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
                 //здесь любой код который принимает значение
        }


то есть при присваивании текстбоксу значения textBox1.text = "test"
значение test передается в событие
PM MAIL   Вверх
KelTron
Дата 14.5.2010, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну и бери значение из самого текстбокса.


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Экскалупатор
Дата 14.5.2010, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



Stratus, оно уже там будет. 
напиши
string s =textBox1.text; 
и получишь свое значение.

PM MAIL ICQ   Вверх
jorikdima
Дата 14.5.2010, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 18.1.2008
Где: Там, где Зенит

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



Цитата(Stratus @ 14.5.2010,  00:54)
Коллеги,

подскажите пожалуста  как можно в событие передать аргумент?

Создайте делегата с нужной сигнатурой, типа:
Код

public delegate void MyDel(string);

Затем событие:
Код

public event MyDel TextChanged;

И в коде :
Код

private void textBox1_TextChanged(object sender, EventArgs e)
        {
                if (TextChanged != null)
                    TextChanged(textBox1.text);
        }

Подпишитесь на событие об изменившемся свойстве:
this.TextChanged += ....
ну далее разберетесь.
PM MAIL   Вверх
mrbrooks
Дата 14.5.2010, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



 smile 
PM MAIL   Вверх
Stratus
Дата 14.5.2010, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я как всегда неясно обьяснил...
нужно чтобы при добавлении текста в ТекстБокс значение поля Текст не заменялось а добавлялось.
Для этого используется конструкция: textBox1.Text += (значение типа string);
теперь эту конструкцию нужно поместить внутрь события: textBox1_TextChanged,
а следовательно и передать этой конструкции текстовое значение которое она должна добавить к строке. 

Без делегатов можно обойтись?

Это сообщение отредактировал(а) Stratus - 14.5.2010, 21:42
PM MAIL   Вверх
Экскалупатор
Дата 14.5.2010, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



сделай метод, который будет у тебя делать то что тебе нужно с текстбоксом, в него передавай все что тебе хочется, из события вызывай этот метод. по моему все очевидно
PM MAIL ICQ   Вверх
Stratus
Дата 15.5.2010, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Экскалупатор @ 14.5.2010,  22:27)
сделай метод, который будет у тебя делать то что тебе нужно с текстбоксом, в него передавай все что тебе хочется, из события вызывай этот метод. по моему все очевидно

smile)))
Все гениальное просто. Спасибо!

Но я так понимаю если задаться вопроссом принципиально впихивать значение через событие,
то надо делать так как jorikdima написал?
PM MAIL   Вверх
Любитель
Дата 15.5.2010, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Цитата(Stratus @  14.5.2010,  21:41 Найти цитируемый пост)
я как всегда неясно обьяснил

Да. Причём очень smile

Откуда берётся твоё "добавляемое значение". И про какое событие речь? Твоё событие? Или именно про Changed тектбокса? Если про последнее - подумай, откуда в нём возьмустя нужные тебе параметры? Кто-то их же должен передать smile


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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