【问题标题】:How can I disable the F4 key from showing the items in a ComboBox如何禁用 F4 键以显示 ComboBox 中的项目
【发布时间】:2010-05-05 16:12:57
【问题描述】:

您可能不知道这一点,但是在 ComboBox 上按 F4 键会显示它的下拉项目列表。我相信这是 Windows 上的默认行为。

有谁知道如何在 WPF (C#) 中覆盖此行为?

我知道覆盖默认行为通常被视为不好的做法,但是在这种情况下,我有一个运行 XP Embedded 的坚固设备。它有一些突出的功能键 (F1 - F6) 需要触发不同的事件。这可以正常工作,但是当关注 ComboBox 时,不会触发事件,因为 ComboBox 会下降。

我已经尝试在表单和ComboBox 上捕获KeyDown 事件并监听 F4 键,但是它没有达到按键必须达到的程度在较低级别处理。

有什么想法吗?

【问题讨论】:

    标签: wpf combobox keyboard-shortcuts key keypress


    【解决方案1】:

    我对 XP Embedded 并不乐观,但在普通的旧 XP 上,这很有效。使用 PreviewKeyDown,并将 e.Handled 设置为 true:

    public MyWindowOrControl()
    {
        InitializeComponent();
        cboTest.PreviewKeyDown += new KeyEventHandler(cboTest_PreviewKeyDown);
    }
    
    void cboTest_PreviewKeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.F4)
            e.Handled = true;
    }
    

    【讨论】:

    【解决方案2】:

    您可以创建自己的 ComboBox 类并从旧的类继承。您应该希望能够覆盖 keydown/up 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多