假设我在Windows窗体中嵌入了Internet Explorer,然后导航到Web上的随机页面。如何确定文本框(或任何其他可以接受文本输入的控件)何时成为焦点项?基本上,每次单击鼠标时,我都可以检查焦点中的项目是文本框还是文本输入的其他控件,然后采取适当的行动。
提前致谢,
鲍勃
答案 0 :(得分:1)
你仍然没有解释WebBrowser的滚动,但问题似乎是跟踪输入焦点。我不知道Form级别事件,但您可以将事件处理程序挂钩到所有相关控件的Enter或GotFocus事件。
// in Form_Load
foreach (var control in this.Controls) control.Enter += OnEnterControl;
private void OnEnterControl(object sender, EventArgs e)
{
focusControl = (sender as Control);
}
答案 1 :(得分:0)
我相信你想要做的是接收HTMLTextContainerEvents2调度接口并响应onFocus(并且可能是onBlur)。
你是对的,你必须自己通过pinvoke进行互操作。我假设你可以获得IHTMLElement指向你想要跟踪的所有对象(通过使用getElementsByTagName或其他类似的东西)。一旦你有了,