WPF 回车转Tab实现跳转

1.重写窗体的KeyDown事件

    protected override void OnKeyDown(KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            // MoveFocus takes a TraveralReqest as its argument.
            TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);

            // Gets the element with keyboard focus.
            UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;

            // Change keyboard focus.
            if (elementWithFocus != null)
            {
                elementWithFocus.MoveFocus(request);
            }
            e.Handled = true;
        }
        base.OnKeyDown(e);
    }

2.在基容器如Grid的KeyDown事件中

    private void Grid_KeyDown(object sender, KeyEventArgs e)
    {
        var uie = e.OriginalSource as UIElement;
        if (e.Key == Key.Enter)
        {
            uie.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
            e.Handled = true;
        }
    }
时间: 2024-10-11 17:25:05

WPF 回车转Tab实现跳转的相关文章

.Net常用技巧_窗体的回车转TAB键

/// <summary> /// 表单的回车转TAB键 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BasicForm_KeyDown(object sender, KeyEventArgs e) { #region 回车转TAB键 if (e.KeyCod

jquery 回车代替tab

$(function () { //回车代替tab $('input:text:first').focus(); //如果有其他输入类型可以在此处加入 var $target = $('input,button,select'); $target.bind('keydown', function (e) { var key = e.which; if (key == 13) { e.preventDefault(); var nxtIdx = $target.index(this) + 1; i

[C#]Winform下回车或Tab键自动切换下一个控件焦点

满足用户体验,在数据录入时,能在输入完一个信息后通过回车或Tab键自动的切换到下一个控件(字段). 在界面控件设计时,默认可以通过设置控件的TabIndex来实现.但在布局调整时或者是对输入的内容有选择性时,从用代码的方式来处理显得更好维护一点. 完整的实现方法如下: /// <summary> /// 回车.Tab键盘切换或执行操作 /// </summary> public sealed class TabEnter:IDisposable { private List<

JQuery实现回车代替Tab键(按回车跳到下一栏)

一个提交按钮以后,用户如果按了键盘的回车键,默认情况下,就会提交这个表单了.这样对于用户输入各个表单项目,用户体验很不好,输入完一个项目,或者用鼠标选择下一个项目,或者用键盘的Tab键选中下一个项目. 二.问题要求: 1:如果当前处于焦点(也就是用户正在输入的那个文本框)不是最后一个输入框,那么按回车键时,将焦点转移到下一个输入框: 2:如果当前处于焦点(也就是用户正在输入的那个文本框)是最后一个输入框,那么按回车键时,将请用户确认后提交表单: 三.基本思路: 1:判断按键是否是回车建, 这个比

unigui回车代替TAB

在业务系统中常常使用回车键(Enter)替代Tab键完成焦点跳转,在uniGUI下,可以不用代码,直接使用TUniForm的NavigateKeys进行设置: 其中Next和Prior决定了焦点向下一个和前一个跳转的按键 Key = 13 表示Enter ShiftStete 表示辅助键(Shift.Alt或Ctrl)按下状态,当二者结合就可以进行判断 一般用Tab或Enter代表跳转下一个控件,Shift+Tab或Shift+Enter代表返回上一个控件,Tab和Shift+Tab是系统缺省,

vb 去掉html中的回车和tab;转换部分html大写标签为小写

'//去掉各种回车空格符 Public Function replaceEnter(bStr As String) bStr = Replace(bStr, " ", "") bStr = Replace(bStr, vbTab, "") bStr = Replace(bStr, vbCrLf, "") bStr = Replace(bStr, Chr(13) + Chr(10), "") bStr = R

MFC对话框的CEdit控件回车换Tab键,并获得焦点全选中文本

对话框上有五个CEdit和两个Button控件 //重写PreTranslateMessage函数 BOOL CAddDlg::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) { CWnd pwnd = GetFocus(); if (pwnd != NULL) { //判断是否是按钮控件

静态Web开发 DOM

四章 Dom 1节dom中的顶级对象 dom(文档对象模型)js最终是要操作html页面,让html变成DHtml,而操作Html页面就要用到DOMDOM可以吧Html页面模拟成一个对象,如果js只是执行一些计算.循环等操作,而不能操作Html也就失去了它存在的意义 window.onload=function(){ //1 window.fm.btn.onclick=function(){ //window.id 的方式获得元素(如果嵌套很多次,会非常麻烦) alert('大家好!'); }

控制WinForm中Tab键的跳转

一,需求 在Winform中,默认情况下,按下Tab键,光标会按照我们设定的TabIndex值从小到大进行跳转. 但如果用户要求按下Tab键跳转到特定的控件,这种要求还是很合理的,比如用户只想输入几个必须填的项目. 我们可以在配置文件中配置这些必须填写的项目,并设定他们的跳转顺序.这样程序也更加灵活,利于扩展. 二,探索实现方法 1,在每个输入控件的keyDown事件里判断是Tab键,做相应的跳转处理. 最后调查发现按下Tab键,并不会触发控件keyDown事件,Tab键默认被系统处理了,悲剧了