Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 4
1

Отмена обработчика события

21.03.2010, 15:39. Показов 5067. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я разрабатываю калькулятор (все через это прошли наверно).
Когда я в поле для ввода ввожу цифру на это событие (textChanged) реагирует функция.
Но там есть заковырка что мне не всегда нужно чтоб на это событие эта функция срабатывала
Допустим у меня есть другая функция которая меняет знак какого-то числа, нужно чтобы при нажатии на кнопку смены знака в текстовое поле шло отрицательное число (ну т.е. было -5 стало 5 или наоборот) но чтобы событие НЕ ОБРАБАТЫВАЛОСЬ.

У меня сделано так:
когда в текстовое поле вводится число, делаются некоторые операции

Когда нажимается кнопка подмены знака в поле идет минус или убирается минус, но это вызывает textChanged и срабатывает функция обработки...

Как сделать так чтоб функция обработки textChanged не вызывалась при нажатии кнопки смены знака?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2010, 15:39
Ответы с готовыми решениями:

Как обратится к форме из обработчика события?
есть слушатель на завершение: WebClient user = new WebClient(); user.DownloadFileCompleted += new...

Лямбда обработчик события. Нужно вернуть значение вовне обработчика, во внешний код
Я хочу сделать как-то так: Uri GetUriBlaBlaBla() { var wb = new WebBrowser(); ...

Отмена выполнения обработчика Button_Click
Как сделать, а точнее отменить выполнение обработчика, суть вот в чем, при нажатии на кнопку...

Отладка обработчика события GotFocus
Требуется отладить обработчик события GotFocus у некоторого элемента. В интерфейсе пользователя...

3
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
21.03.2010, 15:51 2
C#
1
textBox1.TextChanged -= textBox1_TextChanged;
0
68 / 24 / 2
Регистрация: 16.05.2009
Сообщений: 73
22.03.2010, 05:44 3
лучше создать свой TextBox унаследованный от основного TextBox'а
вобщем добавь класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
    public class MyTextBox:TextBox
    {
        protected override void WndProc(ref Message m)
        {
            if (m.Msg == 258)
            {
                if(m.WParam.ToInt32()<48||m.WParam.ToInt32()>57)
                    m.WParam = (IntPtr)(0);
            }
            base.WndProc(ref m);
        }
    }
и в "имя_формы.Designer.cs" перепиши строку:
C#
1
this.textBox1 = new System.Windows.Forms.TextBox();
на
C#
1
this.textBox1 = new MyTextBox();
в итоге твой текст бокс будет выводить только цифры. аналогично можно и минус обработать.
1
308 / 261 / 70
Регистрация: 01.12.2008
Сообщений: 1,031
22.03.2010, 08:54 4
Запрет ввода А какая функция срабатывает на textChanged ?
0
22.03.2010, 08:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2010, 08:54
Помогаю со студенческими работами здесь

Вызов единственного обработчика события при переопределении
Все привет! Вопрос по теории. Можно ли как-то сделать так, чтобы при перекрытии обработчика события...

Вызвать обработчик события внутри другого обработчика
У окна есть обработчик Loaded=&quot;Window_Loaded&quot;, который мониторит состояние всего окна. Нужно чтобы...

Вызов обработчика события
есть два обработчика события button1.Click и button2.Click . Как из button1.Click вызвать...

Ручной вызов обработчика события
Здравствуйте, никак не могу разобраться с вызовом метода. void Grid_ManipulationStarting(object...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru