我有一个WinForm应用程序,其中包含几个输入控件。在验证事件处理程序(
在Microsoft的Validating事件的文档中,它指出:
警告 不要尝试在Enter、GotFocus、Leave、LostFocus、Validating或Validated事件处理程序中设置焦点。这样做可能会导致您的应用程序或操作系统停止响应。有关详细信息,请参阅“键盘输入参考”部分中的WM_KILLFOCUS主题,以及MSDN库中“关于消息和消息队列”主题的“消息死锁”部分。
对于Form类,有一个
从我的
由于.NET Compact Framework没有
Validating
或Validated
)中,我需要根据验证的值确定下一个要激活的控件。在Microsoft的Validating事件的文档中,它指出:
警告 不要尝试在Enter、GotFocus、Leave、LostFocus、Validating或Validated事件处理程序中设置焦点。这样做可能会导致您的应用程序或操作系统停止响应。有关详细信息,请参阅“键盘输入参考”部分中的WM_KILLFOCUS主题,以及MSDN库中“关于消息和消息队列”主题的“消息死锁”部分。
对于Form类,有一个
ActiveControl
属性,允许设置要成为活动控件的控件,并且没有提到任何限制。在经过数小时的网络搜索后,我没有找到其他解决方案。从我的
Validated
事件处理程序设置ActiveControl
属性(而不是Focus
),是否是安全的方法来积极激活我想要的控件?如果不是,是否有其他解决方案?由于.NET Compact Framework没有
ActiveControl
属性,有人能提出解决方案吗?