环境
- Windows XP x32 Visual Studio 2005 标准版
- Honeywell Dolphin 9500 运行 Windows Mobile 2003 (Pocket PC 2003)
- .NET Compact Framework 1.0 SP3 和 .NET Framework 1.1
- 使用 VC#
目标
我有一个带有一堆标签和文本框的表单。此表单由“工单”对象填充,并在设备上按下左或右硬件摇杆按钮时重新填充下一个或上一个“工单”。我想允许用户编辑组合/文本框,然后将焦点重新放在表单上,以便表单的 KeyDown 事件处理程序优先。
问题
在初始应用程序加载时,当表单具有焦点时,摇杆开关功能完美,用户可以通过点击硬件左键或右键来来回索引工作指令。当用户选择文本/组合框来编辑值时,表单失去焦点并且组合/文本框的 KeyDown 事件优先。
问题
如何强制控件将焦点返回到表单对象而不抑制用户编辑值的能力?
我尝试过的事情
- 我尝试使用仅包含以下行的 LostFocus() 事件处理程序设置每个控件: this.Focus() 以便在当前控件失去焦点后将焦点返回到表单。但是,我“点击”四周,无法让控件失去焦点。
代码
在我过去的问题中,我总是将代码放在friendpaste.com 文档中,因为自动生成的表单代码使文档有些冗长。如果代码需要在正文中,请告诉我,我将在此处粘贴。否则,代码位于下面的朋友粘贴链接中。
http://friendpaste.com/CJ8CblLebHRXqA7UMLyvc
还...
出于任何原因随意批评您看到的任何代码,但最好将其作为对问题的评论,而不是作为保持主题主题的答案。我是一名新程序员,我对 Pocket PC Visual C# 开发非常陌生,欢迎,不恳求,任何我能得到的反馈/批评。
此外,如果需要更多信息,请告诉我,我会尽快将其包括在内。