如何强迫用户离开某个字段?

时间:2015-09-21 18:04:20

标签: c# focus datetimepicker

我有一个Windows应用程序,我有一个日期,当它被更改时,还有很多其他事情正在进行或必须确认。所以我的目标是在选择日期以引导用户完成整个过程时弹出一个向导。我不希望他们能够更改主表单上的日期。我将通过向导更新它。

目前,我正在Enter的{​​{1}}上调用向导。我愿意改变它,如果有更好的选择,但他们必须实际选择该字段,而不仅仅是将鼠标悬停在它上面。我遇到的问题是,当向导关闭时,焦点/光标仍然位于用户可能更改日期的日期字段中。我知道我可以检查DateTimePickerKeyPress以重新启动向导,但我要做的就是将光标移动到另一个控件。

我尝试了MouseDown这似乎有效,但是有2个问题。

  1. 根据MSDN,我不应该尝试使用Enter事件更改焦点。如果COULD导致应用程序或操作系统停止响应。
  2. 当我取消向导时,它会再次进入控件,触发弹出窗口,当第二次取消时,它会使日历保持打开状态或部分日期突出显示(取决于用户输入的字段)。
  3. 我愿意接受所有建议,以便更好地实现这一目标。

0 个答案:

没有答案