У меня есть программа, которая использует сканер штрих-кода в качестве устройства ввода, поэтому это означает, что мне нужно сосредоточиться на текстовом поле.
Программа имеет элемент управления listview, и я выбираю один из элементов программным образом, когда сканируется определенный штрих-код. Я установил цвет фона строки следующим образом:
listviewitem.BackColor = Color.LightSteelBlue;
Вещи, которые я пробовал:
-
listview.HideSelection
установить значение false - вызов
listview.Focus()
после установки цвета -
listviewitem.Focused
установлено значение true - вызов
listview.Invalidate
- вызов
listview.Update()
- вызов
listview.Refresh()
- различные комбинации указанных выше
Я также делал комбинации над материалом в таймере, так что они вызываются в другом потоке, но все равно не имеют успеха.
Любые идеи?
Дополнительная информация:
- Ключ здесь - фокус управления. Элемент listview не имеет фокуса, когда я выбираю один из элементов.
-
Я выбираю один элемент:
listView1.Items[index].Selected = true;
-
Фокус всегда находится в текстовом поле.
- компьютер не имеет клавиатуры или мыши, только считыватель штрих-кода.
У меня есть этот код, чтобы сосредоточиться на текстовом поле:
private void txtBarcode_Leave(object sender, EventArgs e)
{
this.txtBarcode.Focus();
}
Вам нужно, чтобы текстовое поле добавляло этот код для имитации моей проблемы.