C# WPF始终关注文本框
每当我单击WPF应用程序上的任何内容时,我希望始终将注意力集中在WPF应用程序上的特定C# WPF始终关注文本框,c#,wpf,textbox,focus,C#,Wpf,Textbox,Focus,每当我单击WPF应用程序上的任何内容时,我希望始终将注意力集中在WPF应用程序上的特定文本框上 有一个事件处理程序MouseLeftMouseButton。触发事件处理程序时,在处理程序内使用textbox.Focus()。向事件添加一个将焦点设置到文本框的处理程序。如果我是对的,您的目的是获取键盘命令并显示文本框中的字符,即使焦点在其他控件上 如果是这种情况,您可以将键盘命令路由到根控件(顶层控件…例如:窗口),分析它们并显示在文本框中。如果有帮助的话,我会试着举例说明 编辑: private
文本框上 有一个事件处理程序MouseLeftMouseButton
。触发事件处理程序时,在处理程序内使用textbox.Focus()
。向事件添加一个将焦点设置到文本框的处理程序。如果我是对的,您的目的是获取键盘命令并显示文本框中的字符,即使焦点在其他控件上
如果是这种情况,您可以将键盘命令路由到根控件(顶层控件…例如:窗口),分析它们并显示在文本框中。如果有帮助的话,我会试着举例说明
编辑:
private void Window\u KeyDown(对象发送方,System.Windows.Input.KeyEventArgs e)
{
if(Keyboard.Modifiers!=ModifierKeys.Shift)
{
如果(e.Key>Key.A&&e.KeyKey.A&&e.Key
只有在使用鼠标失去焦点的情况下,这种方法才有效。但是如果有人按Tab键怎么办…?是的,这是正确的,你能举个例子如何感谢吗!嘿,谭,检查我的编辑。现在,您可以分析字母以外的键:)
private void Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (Keyboard.Modifiers != ModifierKeys.Shift)
{
if (e.Key > Key.A && e.Key < Key.Z)
{
textBox1.Text += e.Key.ToString().ToLower();
}
}
else
{
if (e.Key > Key.A && e.Key < Key.Z)
{
textBox1.Text += e.Key.ToString();
}
}
e.Handled = true;
}