//全局控制
//按Enter键,如果是日期控件,间隔能逐个选择
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Enter)
{
if (dtInTime.ContainsFocus)
{
if (ReplaceKey(dtInTime)) return true;
}
if (dtOutTime.ContainsFocus)
{
if (ReplaceKey(dtOutTime)) return true;
}
}
return base.ProcessCmdKey(ref msg, keyData);
}
private bool ReplaceKey(DevExpress.XtraEditors.DateEdit dtTimeControls)
{
//获取日期选择的文本
var selectStr = dtTimeControls.SelectedText;
//获取日期文本
var dateStr = dtTimeControls.Text;
//获取日期选择的索引
var index = dtTimeControls.SelectionStart;
var date = Convert.ToDateTime(dateStr);
if (dateStr == selectStr)
{
dtTimeControls.Select(0, 3);
return true;
}
//不是最后一个字符,执行选择右边
else if (index < dateStr.Length - selectStr.Length || index == 0)
{
SendKeys.SendWait("{Right}");
return true;
}
return false;
}