DevExpress的DateEdit控件回车实现在年份、月份和日期时分等切换

时间:2020-4-8 作者:WilliamChan

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控件回车实现在年份、月份和日期时分等切换》,希望对您有帮助。

声明:若您对本文内容有任何意见,欢迎发送邮件至:admin@zhidaobu.com,本站会尽快回应并做出相应处理。