DevExpress的DateEdit控件,切换年份、月份和日期时分等焦点时默认是用方向键向右键“→”和向左键“←”来实现的,在使用小键盘来录入时间时,方向键没有回车键方便(小键盘区域也有回车键)。因此为了操作更便利,此处在事件中通过代码来实现回车模拟方向键和tab键。具体代码如下:
#region 实现某些录入控件回车键模拟其他按钮
foreach (var c in PcTopSearch.Controls)
{
if (c is TextBoxWithPlaceHolder || c is TextBox)
{
(c as Control).KeyDown += new System.Windows.Forms.KeyEventHandler(EnterToTab_KeyDown);
}
else if (c is DateEdit)
{
(c as Control).KeyDown += new System.Windows.Forms.KeyEventHandler((sender, e) =>
{
var de = sender as DateEdit;
if (e.KeyCode == Keys.Enter)
{
//这个比较数值根据日期控件的显示值来改变
//只输入到日期是8,输入到时是11,输入到分是14
if (de.SelectionStart < 14 && !e.Shift) { SendKeys.Send("{right}"); } else if (de.SelectionStart > 0 && e.Shift)
{
SendKeys.Send("{left}");
}
else //最左或最右时就转成tab
{
SendKeys.Send("{tab}");
}
}
});
}
}
#endregion
这样就可以在录入时间时,较方便的通过回车来切换年份、月份和日期时分等焦点,录入效率明显提高。注:回车是向右跳焦点,Shift+回车是向右跳焦点。
以上就是知道不整理的《DevExpress的DateEdit控件回车实现在年份、月份和日期时分等切换》,希望对您有帮助。