如何将 .net 应用程序的焦点锁定到特定控件?例如,如果我有一个包含 5 个文本框的表单,并且我希望它们按特定顺序填写,我如何阻止框 1 中的人点击/单击框 2,或者点击确定或取消或其他任何东西? 有没有简单的方法,或者我必须在适当的时候手动禁用/启用彼此的控件?
显而易见的解决方案(当焦点丢失时重置焦点)的问题在于 MSDN 说您可以通过这种方式锁定您的机器:
(来源:http: //msdn.microsoft.com/en-us/library/system.windows.forms.control.leave.aspx)
警告:
不要尝试从 Enter、GotFocus、Leave、LostFocus、Validating 或 Validated 事件处理程序中设置焦点。这样做可能会导致您的应用程序或操作系统停止响应。有关详细信息,请参阅“键盘输入参考”部分中的 WM_KILLFOCUS 主题,以及位于http://msdn.microsoft.com/library的 MSDN 库中“关于消息和消息队列”主题的“消息死锁”部分.