您的位置:首页 > 其它

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

2018-01-02 17:33 477 查看
if (e.KeyCode == Keys.Enter)
{
//this.SelectNextControl(this.ActiveControl,true, true, true, true);
SendKeys.Send("{Tab}");  //向活动应用程序发送击键 注意格式:Send("{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;
}
}
}


来源参考:
http://www.phpstudy.net/b.php/100776.html WinForm中变Enter键为Tab键实现焦点转移的方法
http://blog.csdn.net/jameshelong/article/details/11947549 在winform窗口上,实现按回车键(Enter)光标移至下一个控件的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: