【问题标题】:WPF always focus on a textboxWPF 始终关注文本框
【发布时间】:2011-01-15 15:07:55
【问题描述】:

每当我单击应用程序上的任何内容时,我都希望始终在我的 WPF 应用程序上的特定 TextBox 上使用 Focus,它应该始终关注 TextBox

【问题讨论】:

    标签: c# wpf textbox focus


    【解决方案1】:

    有一个事件处理程序MouseLeftMouseButton。当事件处理程序被触发时,在处理程序内使用textbox.Focus()

    【讨论】:

    • 只有在使用鼠标失去焦点时才有效。但是如果有人按下 Tab 键怎么办...?
    【解决方案2】:

    如果我是对的,您的意图是获取键盘命令并显示按到文本框中的字符,即使焦点在其他控件上。

    如果是这种情况,您可以将键盘命令路由到根控件(顶层控件...例如:窗口),分析它们并显示在文本框中。如果有帮助,我会尝试举例说明。

    编辑:

    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;
    }
    

    【讨论】:

    • 是的,那是正确的,你能举个例子如何感谢!
    • 嘿谭,检查我的编辑。现在你可以分析字母以外的键了:)
    【解决方案3】:

    TextBox.OnLostFocus 事件添加一个将焦点设置到文本框的处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2021-09-08
      相关资源
      最近更新 更多