#c# #winforms
#c# #winforms
Вопрос:
В c # я хочу выбирать элементы поля со списком с помощью клавиатуры, и когда я нажимаю enter после выбора одного, этот элемент должен быть выбран. как это сделать?
Ответ №1:
попробуйте что-то вроде этого …, это объяснит, как изменить элементы с помощью мыши и клавиатуры,….
Я обнаружил, что этот метод отлично работает во всех условиях. Но я не уверен, доступно ли что-нибудь более точное, чем этот метод.
bool IsMouse = false;
private void cmbMy_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (IsMouse)
{
//Write the logic if selection is changed by mouse
}
else
{
//Write the logic if selection is changed by keyboard
}
IsMouse = false;
}
private void cmbMy_IsMouseCapturedChanged(object sender, DependencyPropertyChangedEventArgs e)
{
IsMouse = true;
}
В событии isMouseCapturedChanged в поле со списком я присвоил переменной bool значение true, и когда выбор в поле со списком изменился, я проверяю bool, выполняющий требуемую задачу, а затем устанавливаю для isMouse значение false.
Или вам нужно создать свой собственный пользовательский combobox..
Вам нужно создать пользовательский класс ComboBox и переопределить элемент управления.Метод ProcessKeyEventArgs.