C#Winform使用CefSharp将WebBowser控件替换为Chrome内核

Posted mq0036

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#Winform使用CefSharp将WebBowser控件替换为Chrome内核相关的知识,希望对你有一定的参考价值。

     先废话一段 ,好久没写博客了,也是跟环境工作有关,之前做技术,天天博客园的翻着 (还是喜欢博客园,因为大家都无私分享交流啊,不像CSDN啥东西都要积分,鄙视之),现在偶尔需要个什么东西了才打开VS写写,刚一上来,看到以前关注的朋友还有坚持写博客的 ,以前还时不时的记录下心情想法,现在也没那个兴趣了,7年改变一个人,看来是吧,回归主题~

 

       公司参加某信息展会,需要把几个网站系统类似PPT轮播一样在一个屏幕展示出来,找不到解决方案,然后我就试着揽下了这个任务,先想到用winform的webbrowser,尝试了下没问题可以实现,但是有些网站系统需要加载比如阿里控件等,webbrowser支持的是IE内核,很多系统需要chorme的支持,于是在网上找方法 ,先找到了WebKit.NET这个控件,添加了进去,但是还是加载不出来阿里的控件,第一天就放弃了,今天闲来无事,想着再试试,继续百度一下,搜到了一篇技术贴:http://www.codeceo.com/article/cefsharp-charp-app-chrome.html (竟然是码农网),里面提到这个CefSharp:

        CefSharp可靠,快速,完全开源,不需要任何额外的依赖就可以安装到最终用户(除VC ++ Runtime 2013以外)。CefSharp同样可工作于WPF项目。

      CefSharp v51 x86(32位)  https://raw.githubusercontent.com/hgupta9/CefsharpSite/gh-pages/files/CefSharp51_x32.zip

    CefSharp v51 x64(64位)    https://raw.githubusercontent.com/hgupta9/CefsharpSite/gh-pages/files/CefSharp51_x64.zip

 

      我没有用NuGet安装,直接下载的,建议直接将解压的文件全部粘贴到Debug目录下,然后通过项目引用--添加引用,将红框中三个dll文件引用到项目中,

技术图片

      需要在.cs和Designer.cs页面头文件引用集加上这两行代码: 

       using CefSharp;
       using CefSharp.WinForms;
       设计面板拖入webbrowser控件,此时当前控件还是winform自带的,需要在Designer.cs改下代码:
       //private System.Windows.Forms.WebBrowser webBrowser1;

        private ChromiumWebBrowser webBrowser1;

        将默认生成的第一行代码改成第二行,此时声明的才是CefSharp.WinForms的webbrowser控件

        this.webBrowser1 = new ChromiumWebBrowser("www.baidu.com");

 

        至此,F6运行不报错的情况下F5应该能看到百度页面了。

        。。。

        。。。

           ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓  以下是重点   ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓  

       但是,我的VS报错,我用的VS2010,.NETFramework4.5 提示应该是版本不对,ChromiumWebBrowser没有引用集,但确实是已经将CefSharp添加到项目中,且引用成功了,然后继续百度:https://www.cnblogs.com/Leo_wl/p/6239233.html#_label1(还是博客园niubility),看到这个帖子中一个方式:

        所以只能通过工具-程序包管理器-程序包管理控制台手动命令行导入版本v49。0.1的,输入命令Install-Package CefSharp.WinForms -Version 49.0.1回车等待执行完成。

      我试着执行了一下,然后提示安装成功,F6了一下,竟然编译通过,报错没有了,应该是将程序及退回到V49版本(我去百度CefSharp下载低版本,官网上没有响应的低版本提供包,所以这个方式可行),然后我需要阿里控件的页面也能顺利加载控件正常显示了 ,大功告成~

 

      代码就不贴了,主要是想记录下引用了CefSharp.dll后VS报错的解决方式,相比WebKit.NET的30多M,CefSharp的资源包更大些解压完有100+M了,如果有同样需求的朋友可以两个控件都参考下。 

 

出处:http://blog.sina.com.cn/s/blog_5673e0ab0102y2lb.html

以上是关于C#Winform使用CefSharp将WebBowser控件替换为Chrome内核的主要内容,如果未能解决你的问题,请参考以下文章

在winform中使用cefsharp.winform嵌入浏览器(含视频教程)

WinForm使用CefSharp内嵌chrome浏览器

winform cefsharp chart.js 再winform上使用chart.js 绘制动态曲线

winform开发cefsharp后,怎么发布

WinForm CefSharp(谷歌浏览器开源组件)

WinForm CefSharp(谷歌浏览器开源组件)