0

在 Silverlight 项目中,如何使左箭头像. (点),当用户在文本框中按下左箭头时,它将键入 . 并且以同样的方式如何使右箭头像-(破折号)

我想使用 CTRL 键在 2 种模式之间切换: . 和破折号,常规箭头行为,意味着当用户按下控制时,拖曳箭头将充当 . 和破折号。当用户再次按下控件时,2 个箭头将像通常的箭头一样起作用。

4

2 回答 2

2

如果它是获胜表单或 WPF,您只需捕获按键事件并更改其行为,然后将其设置为“已处理”(在 (PreviewKeyDown) 之前和之后有一堆事件,您可以使用它们来完全控制每次发生的事情按键。

您也可以使用 API 检查是否按下了 CTRL 键。在 WPF 中使用 KeyboardDevice 属性,检查:

if ((e.KeyboardDevice.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)

加法:同时 - 看看这个问题

还有这个:SO Question2

于 2010-04-11T09:18:55.277 回答
0
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);
                }
            }
        }
于 2010-04-20T20:58:26.830 回答