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

 更新时间:2014年08月26日 15:07:39   投稿:shichen2014  
这篇文章主要介绍了WinForm中变Enter键为Tab键实现焦点转移的方法,主要通过一个ControlTools类来实现该功能,需要的朋友可以参考下

本文实例讲述了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#程序设计有所帮助。

相关文章

  • c#之关闭窗体的实现方法

    c#之关闭窗体的实现方法

    这篇文章主要介绍了c#之关闭窗体的实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 如何使用C#从word文档中提取图片

    如何使用C#从word文档中提取图片

    图片和文字是word文档中两种最常见的对象,在微软word中,如果我们想要提取出一个文档内的图片,只需要右击图片选择另存为然后命名保存就可以了,今天这篇文章主要是实现如何使用C#从word文档中提取图片,需要的朋友参考下
    2016-02-02
  • C# Invoke,begininvoke的用法详解

    C# Invoke,begininvoke的用法详解

    这篇文章主要介绍了C# Invoke,begininvoke的用法详解,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-01-01
  • C#缩略图多路径多格式保存的实例

    C#缩略图多路径多格式保存的实例

    这篇文章介绍了C#缩略图多路径多格式保存的实例,有需要的朋友可以参考一下
    2013-07-07
  • winform中写app.config文件时调试情况下没有改变的原因

    winform中写app.config文件时调试情况下没有改变的原因

    读取很简单基本都用过 ConfigurationManager.AppSettings[""].ToString() 写config不是很常用
    2013-02-02
  • C#纯代码实现打字游戏

    C#纯代码实现打字游戏

    这篇文章主要介绍了这篇文章主要为大家详细介绍了C#纯代码实现打字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • C#实现AddRange为数组添加多个元素的方法

    C#实现AddRange为数组添加多个元素的方法

    这篇文章主要介绍了C#实现AddRange为数组添加多个元素的方法,实例分析了AddRange方法的使用技巧,需要的朋友可以参考下
    2015-06-06
  • Graphics.DrawImage绘制的图像变大的原因分析及解决

    Graphics.DrawImage绘制的图像变大的原因分析及解决

    这篇文章主要介绍了Graphics.DrawImage绘制的图像变大的原因分析及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 基于Unity3D实现仿真时钟详解

    基于Unity3D实现仿真时钟详解

    这篇文章主要为大家详细介绍了如何利用Unity3D模拟实现一个简单是时钟效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-01-01
  • c#中string的特性介绍及注意事项小结

    c#中string的特性介绍及注意事项小结

    这篇文章主要给大家介绍了关于c#中string的特性介绍及注意事项的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11

最新评论