Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 15.12.2015
Сообщений: 17

События контролов xaml и как избежать рекурсии

01.03.2016, 16:26. Показов 1267. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возникла такая проблема. У меня есть TextBox и переменная float. При изменении текста в TextBox должно изменяться значение переменной и наоборот. При этом с переменной постоянно происходят какие-то вычисления.
В результате у меня при изменении текста изменяется переменная затем снова текст и т.д., и когда я например хочу ввести 0.1, в тот момент когда я дохожу до точки он ее стирает и не дает ввести.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.03.2016, 16:26
Ответы с готовыми решениями:

XAML. Выравнивание контролов в ToolBar и StatusBar. + ширина контролов в процентах
Выравнивание контролов в ToolBar и StatusBar с помощью Grid или без. + ширина контролов в процентах. Есть главный Grid, в нем лежат...

XAML индексация контролов
Добрый день! Существуют ли возможность назначить контролу помимо name, id (численное)?

Как отловить события мерцания image контролов и label
Не пойму принцип работы классов никогда с ними не работал как отловить мерцания imagebox и label бокс на форме или всех сразу ? Создал...

3
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
02.03.2016, 09:58
Вводить и выводить данные в разных местах, может быть?
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
02.03.2016, 14:14
Лучший ответ Сообщение было отмечено dmitryX как решение

Решение

Несколько странный подход в интерфейсе, когда в поле ввода отображаются резултаты продолжающегося расчета и в тоже время в поле ввода можно вводить новые данные.
Могу предложить такой вариант:
Перехватывайте сообщение (EN_SETFOCUS) фокус ввода в этом окне. В этой функции устанавливаете запрет на програмнное изменение содержимого поля. Например устанввливаете флаг, и Ваша программа при установленном флаге или останавливает расчеты или перестает выводить изсенения в это поле.
Флаг снимаете прри сообщении EN_KIllFOCUS, когда фокус ввода снят с поля, тоесть пользователь завершил ввод данных. Правда тут есть тонкость по обработке ошибок ввода.

Добавлено через 42 секунды
EN_KILLFOCUS
1
1 / 1 / 0
Регистрация: 15.12.2015
Сообщений: 17
03.03.2016, 20:17  [ТС]
спасибо SSC это помогло, однако остались вопросы
  1. Я пишу приложение магазина (UWP), и у меня нет этих сообщений(если не ошибаюсь они как-то связаны с Win API). Я использовал события контрола
    XML
    1
    
    <TextBox GotFocus="LockEvents" LostFocus="UnlockEvents">


  2. У меня много контролов текстбоксы и один комбобокс. В последствии возможно станет еще больше, и по этому флаг пришлось зделать unsigned-ом и в обработчике события GotFocus вставить проверку которая записывала в переменную контрол получивший фокус, и в обработчике события изменения текста соответственно проверку этот обьект получил фокус, или нет.
Насколько правильны такие изменения, есть ли лучший вариант сделать это под UWP?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.03.2016, 20:17
Помогаю со студенческими работами здесь

Избежать рекурсии
У меня есть код. Он вызывает ошибку рекурсии. Это можно избежать? def expr(TOKENS): #tokens = iter(TOKENS) expression = '' ...

Как назначить один обработчик события для нескольких контролов
Здравствуйте. Имеется 8 numericUpDown. Подскажите пожалуйста можно ли сократить такой код: private void...

События не компилируемого xaml
Есть не компилируемый xaml, который подключается в программе. В программе создан метод: private void label1_MouseUp(object sender,...

События контролов из массива. VC++
Добрый вечер. Скажу сразу: гугл ничего толкового по этому вопросу не дал. Описание: Необходимо создать массив контроллов...

Добавить обработчик события к массиву контролов
Всем здравствуйте. На форуме есть пример создания массива контролов. Код привожу один к одному, только в качестве контрола возьму Button:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru