我将 .NET 的 WebBrowser 嵌入到具有其他一些按钮的表单中。
我正在开发的应用程序不使用键盘,而是使用触摸屏。所以它实际上只使用鼠标。为了向下滚动浏览器,我制作了两个自定义按钮。当我单击这些按钮时,它应该向浏览器发送“PageDown”键击,并且浏览器应该向下滚动。
所以点击事件的代码如下:
theForm.Activate();
Application.DoEvents();
theBrowser.Focus();
Application.DoEvents();
SendKeys.Send(key);
其中“theForm”是表单,“theBrowser”是浏览器实例。
所以当我点击按钮时,什么也没有发生。当我第一次单击浏览器,然后单击按钮时,它确实有效。但是我把重点放在了对吗?我给了应用程序足够的空间来设置焦点?
但现在我觉得很奇怪。当我放一个 MessageBox.Show("HELLO"); 在代码中,像这样:
theForm.Activate();
Application.DoEvents();
theBrowser.Focus();
MessageBox.Show("HELLO");
Application.DoEvents();
SendKeys.Send(key);
...当我单击按钮时,它会立即工作。
所以问题是:为什么当我离开 MessageBox.Show() 时这段代码不起作用,但当我使用 MessageBox.Show() 时却起作用?
希望能帮到你,先谢谢了。。。