Como fazer as teclas das flechas agirem como outras chaves?
-
26-09-2019 - |
Pergunta
No projeto Silverlight, como fazer a flecha esquerda agir como . (DOT), quando um usuário pressiona a seta esquerda em uma caixa de texto, ele digitará. e também da mesma maneira como fazer a flecha certa agir como - ( traço)
E eu quero usar a tecla Ctrl para alternar entre 2 modos :. e Dash, o comportamento regular das setas, significa que quando um usuário pressiona o controle das setas de reboque funcionará como. e traço. E quando um usuário pressiona a AGAN, o controle, as duas setas funcionarão como setas de costume.
Solução 2
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (sender is TextBox)
{
TextBox textBox = (TextBox)sender;
if (e.Key == Key.Left || e.Key == Key.Right)
{
e.Handled = true;
char insert;
if (e.Key == Key.Left)
{
textBox1.SelectionStart = textBox1.Text.Length + 1;
insert = '.';
}
else
{
insert = '-';
}
int i = textBox.SelectionStart;
textBox1.Text = textBox1.Text.Insert(i, insert.ToString());
textBox1.Select(i + 1, 0);
}
}
}
Outras dicas
Se forem formas de vitória ou WPF, você apenas pega o evento do KeyPressed e muda seu comportamento e o definiu como "manipulado" (há um monte de eventos antes e depois (VisuewKeyDown) que você pode usar para controlar completamente o que acontece em todos os tecla pressionando.
Você pode verificar se a tecla Ctrl também é pressionada usando a API. Usando a propriedade KeyboardDevice no WPF, verificando:
if ((e.KeyboardDevice.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
Adição: Enquanto isso - verifique isso Então pergunta
E este também: Então question2