![](/img/trans.png)
[英]Pressing Enter Key will Add the Selected Item From ListBox to RichTextBox
[英]Focus selected controls by pressing Enter Key
在C#Windows应用程序中,导航一个窗体的所有控件(使用Enter键),我使用以下代码:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == System.Windows.Forms.Keys.Enter)
{
SendKeys.Send("{TAB}");
}
}
注意:表单属性KeyPreview = True;
上面的代码工作正常,但是当我要在两个dateTimePicker
( dateTimePicker1
, dateTimePicker2
)之间导航时,按Enter键。 当窗体打开Focus on dateTimePicker1
并按Enter键,然后Focus dateTimePicker2
并按Enter键Focus dateTimePicker1
。
没有上面的代码,下面的代码可以正常工作。 使用上面的代码或其他任何方式浏览两个dateTimePicker
的最佳方法是什么?
private void dateTimePicker1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) {
dateTimePicker2.Focus();
}
}
private void dateTimePicker2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) {
dateTimePicker1.Focus();
}
}
有人请帮助我。
您可以将两个DateTimePickers
预订到同一事件处理程序,而不是使用两个事件,并使用sender
对象:
private void dateTimePicker_KeyDown(object sender, KeyEventArgs e)
{
var dtp = sender as DateTimePicker;
if (e.KeyCode == Keys.Enter)
{
if (dtp?.Name[dtp.Name.Length - 1] == '1')
dateTimePicker2.Focus();
else dateTimePicker1.Focus();
}
}
只是不要忘记在两个DateTimePickrs
的属性窗口中更改KeyDown
事件的值以指向此事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.