zoukankan      html  css  js  c++  java
  • WinForm中 变Enter键为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;
    }
    }

    }
    变Enter为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;
    }
    }

    }



    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    套接字I/O模型-WSAAsyncSelect
    套接字I/O模型-完成端口IOCP
    套接字I/O模型-WSAEventSelect(转载)
    Win7+VS2010环境下CEGUI 0.8.4编译过程详解
    数组去重统计排序
    计算当前月有几天
    前端开发仓库
    Jquery中bind(), live(), on(), delegate()四种注册事件的优缺点,建议使用on()
    图表那些事
    图标字体,矢量图标
  • 原文地址:https://www.cnblogs.com/08shiyan/p/1814789.html
Copyright © 2011-2022 走看看