У меня есть методКак определить, был ли TextChanged запущен клавиатурой в C#?
private void textBoxPilot_TextChanged(object sender, TextChangedEventArgs e)
{ ... }
где текстовое поле в вопросе принимает строку поиска от пользователя и заполняющий ListBox
с результатами на каждое нажатие клавиши.
Впоследствии, когда предмет выбран из ListBox
, я бы хотел, чтобы выбор отражался в том же Textbox
. Тем не менее, я не хочу запускать механизм поиска, который заставит Listbox
забыть о своем выборе.
Как определить, было ли событие TextChanged
инициировано пользователем (через клавиатуру или, возможно, копирование/вставку) или другим способом, используя textBoxPilot.Text = "Pilot name";
?
Спасибо.
я в конечном итоге, используя комбинацию вашего ответа и ответа Скотт: частной ничтожной listBoxPilot_SelectionChanged (объект отправителя, SelectionChangedEventArgs е) { textBoxPilot.IsEnabled = false; Участник selectedPilot = (Member) listBoxPilot.SelectedItem; textBoxPilot.Text = selectedPilot.firstName; textBoxPilot.IsEnabled = true; } частная пустота textBoxPilot_TextChanged (объект отправителя, TextChangedEventArgs е) { если (textBoxPilot.IsEnabled == ложь) возвращение; [поиск материалов] } Это устраняет необходимость в новой глобальной переменной. Спасибо вам обоим. – Anders