winform加个webBrowser以后为啥不能触发keyup事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform加个webBrowser以后为啥不能触发keyup事件相关的知识,希望对你有一定的参考价值。

怎么做才能触发

参考技术A 你把光标放在webbrowser以外试试,你新建个panel,在panel上新建个textbox,然后光标放在textbox里面再输入试试;追问

照你说的这样触发的当然是textbox的kepup事件,可是我想触发的是form的keyup啊

追答

你的textbox不要加keyup事件不就行了,它就会触发form的keyup事件的;
因为你的光标在webbrowser里面,所以就不能触发form的keyup事件

追问

可我的webbrowser本来就是铺满的,光标只会在webbrowser,而且
this.MouseWheel += new MouseEventHandler(MouseWheel_a);
this.KeyUp += new KeyEventHandler(KeyUp_b);
是放到一起的,MouseWheel是可以触发的 ,KeyUp没反应

追答

form有MouseWheel 事件??我试过Mousemove事件也是不可以触发的,除非在该区域没有其他控件;

winform中的WebBrowser可不可以换成其他浏览器的内核,比如说Chrome,详细一点,技术不好,谢谢

参考技术A 不能,WebBrowser是WinForm中带浏览器的控件,不能换成别的。 参考技术B 那就需要换控件了,其他内核的技术资料很少,可以搜索下C#方面chrome内核的控件,参考下:
http://blog.csdn.net//article/details/9842281

建议最好还是用IE内核的,这方面的资料比较多,后期遇到问题也能解决,用其他内核的一遇到问题就麻烦了,还有个基于IE内核的第三方控件CSEXWB,使用方法和webbrowser差不多,可以搜索下;追问

我要访问的那个网站IE打不开,所以webbrowser也打不开,就是像换其他浏览器内核的控件,之前找到一个WebKit和ChromeWebBrowser 但是引用的dll太多又大,也不太会调,webbrowser不可以换内核吗?

追答

你升级IE到最新版本IE11,直接用IE浏览器打开试试,如果直接用IE11也打不开,那个网站也太山寨了吧,竟然最大的微软客户都不支持。。有的网站是低版本的IE打不开的,必须IE8以上的才能打开,webbrowser默认使用的是IE8的兼容模式即IE7一样的;
webbrowser本身是基于IE内核的,无法使用webbrowser再更换别的内核,除非你更换控件;

追问

就算IE11支持,岂不是每个要用到的都要装IE11么,那网站就是,没法说,其他浏览器都可以,就不能IE访问,哎……

参考技术C 身无彩凤双飞翼,心有灵犀一点通追答

看你无限哲理水

参考技术D 郎骑竹马来,绕床弄青梅 第5个回答  2014-08-14 银镯系腕情犹在, 玉带缠腰恋旧衣 匆匆送得佳人去, 夜夜白马踏梦船.

以上是关于winform加个webBrowser以后为啥不能触发keyup事件的主要内容,如果未能解决你的问题,请参考以下文章

WinForm中用WebBrowser控件显示Excel文件,显示失败

winform中的WebBrowser可不可以换成其他浏览器的内核,比如说Chrome,详细一点,技术不好,谢谢

WinForm中WebBrowser的使用

winform中webbrowser控件设置成项目中的html地址

c#winform使用WebBrowser 大全

在 C# winforms 中的同一表单上从一个 webBrowser 导航到另一个 webBrowser