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

本文介绍了一种在WinForm应用程序中实现使用Enter键代替Tab键进行焦点转移的方法。通过简单的代码示例,展示了如何在窗体及特定控件上设置此功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

            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.youkuaiyun.com/jameshelong/article/details/11947549  在winform窗口上,实现按回车键(Enter)光标移至下一个控件的方法  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值