Переход между TextBox WPF

218
26 марта 2018, 22:18

Есть два TextBox:

<TextBox Padding="1" Margin="2" FontSize="35" Name="Cell1" TextAlignment="Center" PreviewKeyDown="Cell1_PreviewKeyDown"/>
<TextBox Padding="1" Margin="2" FontSize="35" Name="Cell2" TextAlignment="Center" PreviewKeyDown="Cell2_PreviewKeyDown"/>

Через PreviewKeyDown происходит перемещение курсора из одного TextBox в другой после нажатия кнопки "пробел":

private void Cell21_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
   if (e.Key == Key.Space) 
        Cell22.Focus(); 
}
private void Cell22_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
   if (e.Key == Key.Space) 
        Cell21.Focus(); 
}

При нажатии "пробел", курсор перемещается в TextBox и добавляет пробел.

Можно ли как-то удалять этот пробел сразу после того, как курсор переместился?

Answer 1

Пометьте событие в обработчиках как отработанное сразу после задания фокуса:

private void Cell1_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Space)
        Cell2.Focus();
    e.Handled = true;
}
private void Cell2_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Space)
        Cell1.Focus();
    e.Handled = true;
}
READ ALSO
Отображение данных из буфера обмена

Отображение данных из буфера обмена

Необходимо написать программу для отображения данных из буфера обмена (для проверки сохранения объектов)

242
Google analytics дублирование

Google analytics дублирование

Проблема при отслеживании электронной торговли в google analytics, данные передаются через measurment protocolФормат запросов следующий: передача транзакции...

232
Не работает цикл в отдельном потоке WPF

Не работает цикл в отдельном потоке WPF

Программа запускается, но не выводит интерфейс

202
&ldquo;Дыра&rdquo; в окне без границы

“Дыра” в окне без границы

Пытаюсь создать метод, который будет рисовать окно с неким уведомлениемУведомление представляет собой форму без границы, на которой размещается...

246