WinForm中变Enter键为Tab键实现焦点转移的方法

Posted Blogger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm中变Enter键为Tab键实现焦点转移的方法相关的知识,希望对你有一定的参考价值。

            if (e.KeyCode == Keys.Enter)
            {
                //this.SelectNextControl(this.ActiveControl,true, true, true, true);
                SendKeys.Send("{Tab}");  //向活动应用程序发送击键 注意格式:Send("{Tab}");中的{}
            }

 

/// <summary>
/// 窗体控件控制相关的方法
/// </summary>
public class ControlTools
{
    private Form frm;

    public ControlTools(Form frm)
    {
      this.frm = frm;
    }
    /// <summary>
    /// 窗体上所有子控件的回车设成Tab
    /// </summary>
    public void EnterToTab()
    {
      frm.KeyPreview = true;

      frm.KeyPress += new KeyPressEventHandler(frm_KeyPress);
    }
    /// <summary>
    /// 注册窗体的KeyPress事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void frm_KeyPress(object sender, KeyPressEventArgs e)
    {
      if (e.KeyChar == (char)Keys.Enter)
      {
        frm.SelectNextControl(frm.ActiveControl, true, true, true, true);
      }
    }
    /// <summary>
    /// 把某一个控件的所有子控件(TextBox ComboBox)的回车设成Tab
    /// </summary>
    /// <param name="groupControl">容器控件</param>
    public void EnterToTab(Control groupControl)
    {
      foreach (Control control in groupControl.Controls)
      {
        if (control is TextBox || control is ComboBox)
          control.KeyPress += new KeyPressEventHandler(control_KeyPress);
      }
    }
    /// <summary>
    /// 注册控件的KeyPress事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void control_KeyPress(object sender, KeyPressEventArgs e)
    {
      if (e.KeyChar == 13)
      {
        SendKeys.Send("{Tab}");
        e.Handled = false;
      }
    }
}

 

 

来源参考:

http://www.phpstudy.net/b.php/100776.html  WinForm中变Enter键为Tab键实现焦点转移的方法

http://blog.csdn.net/jameshelong/article/details/11947549  在winform窗口上,实现按回车键(Enter)光标移至下一个控件的方法  

以上是关于WinForm中变Enter键为Tab键实现焦点转移的方法的主要内容,如果未能解决你的问题,请参考以下文章

Winform Enter键实现Tab键聚焦

winform Form 内控件焦点变化?

2017-4-26 winform tab和无边框窗体制作

为啥我的WINFORM按TAB键焦点不变啊

c# winform中怎么控制enter键?

winform中如何获取按tab键这个事件?