欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-21 14:36:52
本文实例讲述了winform中变enter键为tab键实现焦点转移的方法,在进行c#应用程序开发时有一定的实用价值。分享给大家供大家参考。 具体实现代码如下:...

本文实例讲述了winform中变enter键为tab键实现焦点转移的方法,在进行c#应用程序开发时有一定的实用价值。分享给大家供大家参考。

具体实现代码如下:

/// <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;
      }
    }
}

希望本文所述变enter键为tab键的方法对大家c#程序设计有所帮助。

上一篇:

下一篇: