WinForm中变Enter键为Tab键实现焦点转移的方法
投稿: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#程序设计有所帮助。