问题标签 [lostfocus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
474 浏览

wpf - WPF 在 PreviewLostKeyboardFocus 中查找新的焦点控件

有没有办法在 PreviewLostKeyboardFocus 处理程序中找到新的焦点控件?例如,我有一个带有 PreviewLostKeyboardFocus 事件的文本框控件,然后我单击了另一个控件。有没有办法找出 PreviewLostKeyboardFocus 处理程序方法中的新控件是什么?

奇怪的是 textbox.IsFocused 返回 false,FocusManager.GetFocusedElement(Application.Current.MainWindow) 返回当前文本框控件。

非常感谢提前!

0 投票
1 回答
443 浏览

winforms - 需要通过 COM 互操作在 MS Office VBA 中托管的 WinForms UserControl 的 LostFocus 事件

我们在 VB.NET 2010 中实现了一个基于 WinForms UserControl 的 ActiveX 控件。它通过 COM Interop 在 VBA UserForms 上使用。一切正常 - 除了一件事。当输入焦点从 ActiveX 移动到用户窗体上的另一个 VBA 本机控件(比如命令按钮)时,我们无法检测到这个东西。在这种情况下,不会触发诸如 Leave 或 Validating 等标准 WinForms 控件事件。

如何跟踪它(更好地使用“托管”方式,没有 WinAPI 技巧)?

请注意,我们的 UserControl 包含其他 WinForms 控件,例如按钮或文本框,因此无论选择了哪个组成部分,我们都需要将整个控件公开为 ActiveX 的 LostFocus 事件。

0 投票
1 回答
342 浏览

eclipse - Ubuntu 不时失去对文本编辑器的关注

我刚刚从 Ubuntu 10.04 升级到 12.04.3 LTS。我发现的一件烦人的事情是,在 eclipse 和 matlab 中,有时我无法输入文本。具体现象如下:

  1. 在使用自动完成(通过自定义快捷方式激活alt+/),或从其他窗口切换,或按ctrl+z等后发生。
  2. 可以用鼠标移动光标,但键盘没有反应。
  3. 使用alt-tab来回切换可以解决问题。

每当我点击tab. 但是gedit浏览器工作正常。想知道有没有人遇到过同样的问题。谢谢。

0 投票
4 回答
312 浏览

c# - 想知道 TextBox 方法

我有一个TextBox我想根据其中是否输入整数来运行几个条件。我的操作是从TextBox存在的窗口的代码隐藏中进行的。

LostFocus活动中,我想做以下事情:

  • 检查是否string IsNullOrEmpty

    - 如果是 - 将文本设置为“默认记录”

  • 验证输入的值是Int

    如果不是 - 显示 a MessageBox(Ok Button),然后将焦点重新设置在TextBox

**这是我的LostFocus函数的样子:

上述功能适用于测试是否string IsNullOrEmpty,但我遇到了else if条件问题。当我尝试将焦点重新设置TextBoxMessageBoxes. 为什么会这样,我该如何解决?

更新1:

这些是附加的事件处理程序TextBox

xml:

0 投票
0 回答
448 浏览

windows-phone-7 - Windows Phone (7+8) 如何获得 Popup Flyout 样式?

我见过一个带有窗口/弹出窗口的 Windows Phone 7 应用程序,在使用选择后,它显示一半覆盖当前窗口,当用户在该窗口外点击时它会从左侧滑入。对于 Windows 8x 应用商店应用,这是一个弹出控件中的弹出控件。但这不适用于 Windows Phone。常规弹出控件不会滑入

这确实适用于页面到页面的转换。当我在弹出窗口外点击时,我也没有成功关闭它。我尝试添加LostFocus="MyEndPopUp",但从未调用过该方法,并且还尝试在OnNavigateFrom. 我在这里想念什么?

如果有人可以例如指出一些示例代码或多或少地做我想要的,那就太好了。

0 投票
1 回答
392 浏览

wpf - wpf f1 帮助不适用于所有自定义控件

我正在编写一个 wpf 应用程序,并尝试为其添加 F1 帮助支持。

我发现Nigel Shaw 的这个非常有用的课程

我使用 Microsoft HTML Help Workshop 编写了一个测试帮助 chm 文件。

我将它们集成到我的应用程序中。我为我的主窗口设置了 HelpTopic,一个自定义控件 (CC1) 我动态添加到主窗口,另一个自定义控件 (CC2) 我动态添加到 CC1。

当我在主窗口中按 F1 时,我会打开正确的帮助主题。当我在 CC1 中按 F1 时,我会得到正确的帮助主题以打开。当我在 CC2 中按 F1 时,我得到 CC1 的帮助主题。

当调用 GetHelpTopic 函数时,我添加了一些代码来获取控件堆栈,这就是我得到的([0] 是捕获 F1 的控件):

起初我认为可能是 ScrollViewer 抓住了 F1 并阻止它深入。但是我会从 [6] 开始获得堆栈。

然后我认为问题可能来自CC1和CC2类之间的差异。但它们都继承自同一个基类,后者继承自 UserControl


更新1:我越来越近了。如果我在 CC2 中的控件内单击,则会得到以下堆栈

我得到了 CC2 的正确帮助主题。所以我猜这是当我点击它时将焦点设置在CC2上的问题。

所以我在 CC2 中添加了以下标签:

但在那种情况下,当我单击 CC2 背景或不可聚焦的元素(例如:标签)时,我仍然会得到以前的错误行为......

所以接下来我添加了一个 MouseLeftButtonDown 来手动设置焦点

随着事件这样做:

但即使这样,我仍然得到以前错误的帮助主题......


更新 2:

这次我添加到CC2

我还修改了 AnimatedStructure_MouseLeftButtonDown 以像这样使用 FocusManager:

我在 GotFocus 和 LostFocus 中设置了一个断点。当我在 CC2 内部单击时,FocusManager 从 AnimatedStructure_MouseLeftButtonDown BUT 正确触发 GotFocus,之后我立即从 CC2 本身收到一个 LostFocus。我查看了 RoutedEventArgs,它确实是 CC2 本身消除了它自己的焦点。

所以现在我对该怎么做有点迷茫......因此我不能

0 投票
1 回答
329 浏览

c# - C#关闭最大化的键盘切断程序

在我弹出的新表单中单击 NumericUpDown 框时,我设法在 Windows 8 中显示了一个键盘。不幸的是,似乎在“失去焦点”关闭键盘后,窗口被扭曲并且在弹出窗口关闭之前不会显示整个程序。

所以,基本上,当从当前打开的表单关闭键盘时,我需要刷新背景窗口。任何建议表示赞赏。谢谢你。

0 投票
5 回答
11014 浏览

ios - 出现键盘时失去输入文本的焦点 - iOS PhoneGap 应用程序

我在使用带有 html 输入文本的 cordova 2.7 在 iOS 7 上开发电话间隙应用程序时遇到问题。当我选择输入文本时,键盘会弹出。但由于失去焦点,无法输入任何内容。我必须再次选择才能输入文字。

谁可以帮我这个事。

0 投票
0 回答
306 浏览

c# - WPF 文本框在第一次尝试时未能触发 lostFocus?

从上面的代码中,我将能够TextBox_GotFocus()在文本框获得焦点后触发方法,当焦点丢失时,TextBox_LostFocus()将触发方法。

现在我有一个有 2 个文本框和一个按钮的页面。

当我第一次单击文本框 1 时,TextBox_GotFocus()成功触发,当我单击文本框 2 时,TextBox_LostFocus()将触发文本框 1 并触发文本框 2,TextBox_GotFocus()这与我预期的一样。但是如果我尝试点击按钮,TextBox_LostFocus()第一次尝试会触发失败吗?

总之,TextBox_GotFocus()被触发后,当我点击按钮时,为什么TextBox_LostFocus()第一次点击不会被触发?当我第二次单击时,TextBox_LostFocus()将执行

0 投票
1 回答
672 浏览

c# - LostFocus not raised for a TreeViewItem

In my WPF C# project, I've created a TreeView. Each TreeViewItem has a LostFocus event that must be raised when item lost its focus. I've also create a button that is needed to be clicked when user wants to change header of a certain TreeViewItem. User, after the selection in TreeView, can click on button and a TextBox appear replacing the TreeViewItem header. If user does not click on TextBox but click on another TreeViewItem, the LostFocus event is never raised. Otherwise, if user click on TextBox and then change focus, it is raised. I've also used textBox.Focus() and Keyboard.Focus(textBox) but the do not work. How can I fix this?

Just to be clear, before creating a post I've read another SO answer here

Here is the snippet code