【问题标题】:how to capture the Hardware BackKey click event when onscreen keyboard is present存在屏幕键盘时如何捕获硬件 BackKey 单击事件
【发布时间】:2013-12-12 07:23:38
【问题描述】:

我正在开发 Windows Phone 8 PhoneGap 应用程序。当屏幕键盘出现时,如果我们点击硬件返回键,它会关闭屏幕键盘。但当时没有任何事件被触发,包括 BackKeyPress 事件。我可以知道如何在屏幕键盘存在时捕获硬件 BackKey 点击事件吗?

【问题讨论】:

    标签: c# windows-phone-8 on-screen-keyboard


    【解决方案1】:

    我不知道是否有一种简单的方法可以做到这一点,但您可以听 TextBox.LostFocus 事件来了解键盘何时隐藏。

    如果您有多个文本框,请检查其他文本框是否没有获得焦点。

    【讨论】:

    • 当我们按下硬件后退按钮时,即使 LostFocus 事件也不会被触发。
    • 该事件为我触发,但如果您使用它来确定是否按下了后退按钮,则该解决方案有点危险。 TextBox 可能会因为许多其他原因而失去焦点。
    【解决方案2】:

    如果我是对的,您想捕捉用户在手机上按下返回键时触发的事件,那么您可以覆盖相同的事件

        protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
        {
            base.OnBackKeyPress(e);
    
            //your logic goes here
        }
    

    如果您按下键 当屏幕键盘出现时,默认行为是关闭键盘,您只能在键盘关闭后捕获此事件。

    如果您想检测键盘的关闭,您可以使用文本框的 LostFocus 事件或您可能正在使用的任何其他类似控件。希望这会有所帮助!

    【讨论】:

    • 问题是在存在屏幕键盘的情况下单击硬件返回键时不会触发此事件。
    猜你喜欢
    • 1970-01-01
    • 2012-04-14
    • 2014-06-07
    • 2013-06-28
    • 2020-05-04
    • 2016-07-14
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多