winforms - 如何防止控件窃取焦点?

标签 winforms winapi focus

我们在 C# WinForms 应用程序中加载了一个 3rd 方控件。

当我们在这个 3rd 方 ActiveX 控件上调用一个方法时,它异步地窃取焦点。例如:

// This call causes 3rd party to spawn a thread and steal focus 
// milliseconds later.
foo3rdParty.DoSomething();

有没有办法防止控件窃取焦点?

最佳答案

如果控件有一个 GotFocus() 事件(并且在它窃取焦点时由控件正确引发),您可以将一个处理程序附加到该事件并将焦点设置回具有焦点的最后一个控件(或 OK 按钮或任何)。

如果有人在中间输入文本框,这可能会产生奇怪的效果。我的解决方案是把我的钱给愿意做 15 分钟工作来帮助我的人。

关于winforms - 如何防止控件窃取焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1122341/

相关文章:

c++ - 由于 HID 句柄无效(Windows HID C++ API),HidD_* 函数全部失败

c++ - CreateProcess的第二个参数应该是什么?

android - 以编程方式创建具有属性 singleLine=true 的 editText

python - wxPython:当在框架内的另一个面板内的面板内时,TextCtrl 永远不会获得焦点

.net - 如何使 .NET 应用程序看起来像 Windows 8ish

c# - 编译 C# winForms 时出错

c# - Windows 窗体/C# 中的动态折叠面板创建

c# - 更改 TextBox 中的滚动条位置?

c - 在 C 中构建窗口窗体

javascript - focus() input element with jQuery, but the cursor doesn't appear