DateTimePicker 获取当前输入位置(年、月、日、时、分、秒) 转移焦点
2009-05-07 16:26
344 查看
DatetimePicker 作为vs自带控件,它的功能还是挺好的,为我们提供了很大的方便。但是,用这个控件时,如果为了操作上方便会出现一些小问题,比如:如何判断当前选中的是年还是月、日。对于这个问题可以用一些笨方法解决。
实现功能: DatetimePicker 显示为 年/月/日, 按Enter键自动跳转,到日后 焦点移动到其他控件
对于Enter键实现年月日间的切换大家很容易想到,那就是用控件自带的功能: 当按下 left,right 键时左右切换。
if(e.KeyChar==13)
{
SendKeys.Send("{right}");
}
这样就可以实现年月日的切换。
下面是实现到“日”(最后的内容)后,将焦点转移到其他控件
方法也类似。首先,用控件自带的功能: 当按下 up,down 键时值的变化,这样在ValueChange事件中判断变化的是哪一部分,如果是日在改变,焦点转移。
具体一看代码便明白:
if(e.KeyChar==13)
{
SendKeys.Send("{right}");
SendKeys.Send("{up}");//
SendKeys.Send("{down}");//来回切换不会改变原值,由它触发ValueChange事件
if(IsDayChange)
{
IsDayChange=false;
SendKeys.Send("{tab}");
}
}
private void dateTimePicker1_ValueChanged(object sender, System.EventArgs e)
{
if(dateTimePicker1.Value.Day != CurrentDay)
{
IsDayChange=true;
}
CurrentDay= dateTimePicker1.Value.Day;
}
这样就OK了。CurrentDay,IsDayChange是两个全局变量。 还有一些问题,那就根据情况,自己对应了。
实现功能: DatetimePicker 显示为 年/月/日, 按Enter键自动跳转,到日后 焦点移动到其他控件
对于Enter键实现年月日间的切换大家很容易想到,那就是用控件自带的功能: 当按下 left,right 键时左右切换。
if(e.KeyChar==13)
{
SendKeys.Send("{right}");
}
这样就可以实现年月日的切换。
下面是实现到“日”(最后的内容)后,将焦点转移到其他控件
方法也类似。首先,用控件自带的功能: 当按下 up,down 键时值的变化,这样在ValueChange事件中判断变化的是哪一部分,如果是日在改变,焦点转移。
具体一看代码便明白:
if(e.KeyChar==13)
{
SendKeys.Send("{right}");
SendKeys.Send("{up}");//
SendKeys.Send("{down}");//来回切换不会改变原值,由它触发ValueChange事件
if(IsDayChange)
{
IsDayChange=false;
SendKeys.Send("{tab}");
}
}
private void dateTimePicker1_ValueChanged(object sender, System.EventArgs e)
{
if(dateTimePicker1.Value.Day != CurrentDay)
{
IsDayChange=true;
}
CurrentDay= dateTimePicker1.Value.Day;
}
这样就OK了。CurrentDay,IsDayChange是两个全局变量。 还有一些问题,那就根据情况,自己对应了。
相关文章推荐
- DateTimePicker 获取当前输入位置(年、月、日、时、分、秒) 转移焦点
- android获取当前焦点的位置,查找焦点的位置
- iOS 光标默认获取当前文本框输入位置
- [Win32]获取当前输入焦点窗口所属进程的进程ID
- WinAPI: waveInGetPosition - 获取当前输入设备的输入位置
- 输入框中获取当前光标位置&设置光标位置
- C#让TopMost窗体弹出并置顶层但不获取当前输入焦点的终极办法
- C#让TopMost窗体弹出并置顶层但不获取当前输入焦点的终极办法
- .Net C# WinForm -- 获取TextBox当前焦点所在位置,插入文本,选中文本
- android获取当前焦点的位置,查找焦点的位置
- 获取当前具有输入焦点控件的窗口句柄
- .Net C# WinForm -- 获取TextBox当前焦点所在位置,插入文本,选中文本
- DatePicker 控件在5.0以上版本 焦点释放问题 手动输入点击确定按钮不能正确获取到日期优化
- 获取当前具有输入焦点控件的窗口句柄
- C#让TopMost窗体弹出并置顶层但不获取当前输入焦点的终极办法
- android 中获取当前焦点所在屏幕中的位置 view.getLocationOnScreen(location)
- 学习插件的第4天,获取当前焦点的位置
- 通过IP地址获取当前地理位置(省份)的接口
- 在kindEditor中获取当前光标的位置索引的实现代码
- iPhone获取当前位置(CoreLocation的一些简单使用)