WPF 回车触发按钮事件,回车光标后移

WPF 回车触发按钮事件,回车光标后移

在xmal页面加上KeyDown事件

<Grid Grid.Row="7" KeyDown="单击回车事件">

回车触发按钮事件

/// <summary>
/// 人员列表_单击回车事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 人员列表_单击回车事件(object sender, KeyEventArgs e)
{
    // 判断是否触发回车键
    if (e.Key == Key.Enter)
    {
        人员列表搜索按钮_点击事件(sender, e);
    }
}

回车光标后移

#region 单击回车事件

/// <summary>
/// 单击回车事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 单击回车事件(object sender, System.Windows.Input.KeyEventArgs e)
{
    try
    {
        // 判断是否触发回车键
        if (e.Key == Key.Enter)
        {
            // 获取焦点所要跳转的位置
            TraversalRequest 所跳转位置 = new(FocusNavigationDirection.Next);

            // 获取获取当前焦点位置
            UIElement? 当前焦点位置 = Keyboard.FocusedElement as UIElement;

            // 改变焦点的位置
            if (当前焦点位置 != null)
            {
                当前焦点位置.MoveFocus(所跳转位置);
            }
            // 表示已经处理了事件 如果 Handled 的值为 true,可以防止再次处理同一事件。
            e.Handled = true;
        }
        base.OnKeyDown(e);
    }
    catch (Exception ex)
    {
        // 抛出异常
        MessageBox.Show(ex.Message);
    }
}

#endregion

版权声明:本文为weixin_44858501原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。