KeyPressEventArgs e){if (e.KeyChar == (char)Keys.Enter){frm

时间:2022-01-11 08:00:30

本文实例讲述了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></param> /// <param></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>容器控件</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></param> /// <param></param> private void control_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { SendKeys.Send("{Tab}"); e.Handled = false; } } }