当点击文本框时,表单失去焦点,摇杆切换按键向下事件处理程序 环境 Windows XP x32 Visual Studio 2005标准版 霍尼韦尔海豚9500运行Windows Mobile 2003(Pocket PC 2003) .NET Compact Framework 1.0 SP3和.NET Framework 1.1 使用VC# 目标

当点击文本框时,表单失去焦点,摇杆切换按键向下事件处理程序 环境 Windows XP x32 Visual Studio 2005标准版 霍尼韦尔海豚9500运行Windows Mobile 2003(Pocket PC 2003) .NET Compact Framework 1.0 SP3和.NET Framework 1.1 使用VC# 目标,c#,winforms,focus,pocketpc,C#,Winforms,Focus,Pocketpc,我有一个表单,上面有一堆标签和文本框。此表单由“工单”对象填充,并在按下设备上的左或右硬件摇杆按钮时,用下一个或上一个“工单”重新填充。我想允许用户编辑一个组合框/文本框,然后将焦点放回表单上,以便表单的KeyDown事件处理程序优先 问题 在初始应用程序加载时,当窗体具有焦点时,翘板开关功能完美,用户可以通过点击硬件左键或右键在工单中来回索引。当用户选择一个文本/组合框来编辑值时,表单会失去焦点,组合框/文本框的KeyDown事件优先 问题: 如何强制控件将焦点返回到表单对象,而不抑制用户

我有一个表单,上面有一堆标签和文本框。此表单由“工单”对象填充,并在按下设备上的左或右硬件摇杆按钮时,用下一个或上一个“工单”重新填充。我想允许用户编辑一个组合框/文本框,然后将焦点放回表单上,以便表单的KeyDown事件处理程序优先


问题 在初始应用程序加载时,当窗体具有焦点时,翘板开关功能完美,用户可以通过点击硬件左键或右键在工单中来回索引。当用户选择一个文本/组合框来编辑值时,表单会失去焦点,组合框/文本框的KeyDown事件优先


问题: 如何强制控件将焦点返回到表单对象,而不抑制用户编辑值的能力


我尝试过的事情
  • 我尝试使用LostFocus()事件处理程序设置每个控件,该处理程序只包含以下行:this.Focus(),以便在当前控件失去焦点时将焦点返回到窗体。然而,我“点击”了一下,无法让控件失去焦点

代码 在我过去的问题中,我总是将代码放在friendpaste.com文档中,因为自动生成的表单代码使文档有点冗长。如果代码需要在正文中,请告诉我,我会将其粘贴到这里。否则,代码位于下面的好友粘贴链接


也。。。 出于任何原因,您可以随意评论您看到的任何代码,但理想情况下,您可以将其作为对问题的评论,而不是回答,以保持主题的主题。我是一名新的程序员,对Pocket PC Visual C#的开发非常陌生,欢迎任何反馈/批评

此外,如果需要更多信息,请告诉我,我将尽最大努力尽快提供


谢谢 重写ProcessCmdKey()方法或将表单的KeyPreview属性设置为true。

重写ProcessCmdKey()方法或将表单的KeyPreview属性设置为true。

我刚切换到“moded”编辑设计,并在“完成编辑”时返回焦点。

我刚切换到“moded”编辑设计,并在完成编辑时返回焦点“已完成编辑”。

您无法在表单本身上设置焦点,它没有任何用处。它没有任何方式指示焦点,也不接受键盘输入。焦点始终传递给它的一个子控件。您认为它有用的原因很不清楚。这是。focus()将焦点设置到窗体上,不管它是否在这之后将焦点发送到子级,我都不知道。但是,您的陈述和我以前的陈述都与我的问题相关。当焦点设置为“设置到窗体”时,无论这意味着什么,当它失去焦点时,硬件摇杆按钮工作正常(通过此.LostFocus()观察),在此之前,按下按钮无法再访问窗体的KeyDown事件处理程序。Focus()命令调用。您无法在窗体本身上设置焦点,它没有任何用途。它没有任何方式指示焦点,也不接受键盘输入。焦点始终传递给它的一个子控件。您认为它有用的原因很不清楚。this.focus()将焦点设置到窗体上,不管它是否在这之后将焦点发送到子级,我都不知道。但是,您的陈述和我以前的陈述都与我的问题相关。当焦点设置为“设置到窗体”时,无论这意味着什么,当它失去焦点时,硬件摇杆按钮工作正常(通过此.LostFocus()观察),在此之前,按下按钮无法再访问窗体的KeyDown事件处理程序。Focus()命令.KeyPreview在我的环境中不可用。我在以前的场景中遇到此问题,我记不起它是否不受.Net CF 1.0 SP3支持,或者它是否不在.Net Framework 1.1中。无论如何,KeyPreview都不是一个选项。我也不想只覆盖KeyDown事件,我正在寻找一个方法,我可以使用它同时拥有这两种行为。感谢您的回复。KeyPreview在我的环境中不可用。我在以前的场景中遇到了此问题,我记不起它是否只是不受.Net CF 1.0 SP3支持,或者它是否不在.Net Framework 1.1中。无论如何,KeyPreview都不是一个选项。我也不希望为了覆盖KeyDown事件,我正在寻找一种可以同时具有这两种行为的方法。谢谢您的回复。