先废话一段 ,好久没写博客了,也是跟环境工作有关,之前做技术,天天博客园的翻着 (还是喜欢博客园,因为大家都无私分享交流啊,不像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内核的更多相关文章

  1. C#Winform将WebBowser控件替换为Chrome内核

    摘要 由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容 ...

  2. C#将WebBowser控件替换为Chrome内核

    摘要 由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容 ...

  3. WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用

    WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 转自:http://www.cnblogs.com/wuhuacong/arch ...

  4. 关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件

    项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能 ...

  5. C# winform编程中多线程操作控件方法

    private void Form1_Load(object sender, EventArgs e) { Thread newthread = new Thread(new ThreadStart( ...

  6. WinForm的延时加载控件概述

    这篇文章主要介绍了WinForm的延时加载控件,很实用的技巧,在C#程序设计中有着比较广泛的应用,需要的朋友可以参考下   本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述.在进行C# ...

  7. 在Winform窗体中使用WPF控件(附源码)

    原文:在Winform窗体中使用WPF控件(附源码) 今天是礼拜6,下雨,没有外出,闲暇就写一篇博文讲下如何在Winform中使用WPF控件.原有是我在百度上搜索相关信息无果,遂干脆动手自己实现. W ...

  8. C# WinForm 添加Windows Media Player 控件调试出现未能加载文件或程序集Interop.WMPLib,该怎么解决

    C# WinForm 添加Windows Media Player 控件调试出现未能加载文件或程序集Interop.WMPLib如标题,在窗体中添加Windows Media Player 控件,当调 ...

  9. 在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件

    在很多时候,我们做一些非常规化的界面的时候,往往需要创建一些用户控件,在其中绘制好一些基础的界面块,作为后续重复使用的一个单元,用户控件同时也可以封装处理一些简单的逻辑.在开发Winform各种类型项 ...

随机推荐

  1. Vue组件注册与数据传递

    父子组件创建流程 1.构建父子组件 1.1 全局注册 (1)构建注册子组件 //构建子组件child var child = Vue.extend({ template: '<div>这是 ...

  2. 深入理解虚拟机、容器和 Hyper 技术

    本文首先介绍了操作系统,然后引出容器技术以及虚拟机技术,最后介绍了 Docker 和 Hyper 技术.通过本文可以清楚地对三者有感性认识. 操作系统概述 我们可以把操作系统简化为: 操作系统 = 内 ...

  3. (二)Python的应用领域

    Python 的应用领域主要有如下几个: Web应用开发 Python 经常被用于 Web 开发,尽管目前 PHP.JS 依然是 Web 开发的主流语言,但 Python 上升势头更劲.尤其随着 Py ...

  4. ES-PHP向ES批量添加、查询文档报 No alive nodes found in your cluster

    转自: https://blog.csdn.net/itfootball/article/details/53637238 问题描述为了提高保存数据到es消耗的时间,采取积攒到3000条文档的时候才保 ...

  5. Delphi快递鸟【支持快递查询和单号识别】

    作者QQ:(648437169) 点击下载➨Delphi快递鸟 [delphi快递鸟]支持快递查询.单号识别.

  6. DRF框架(二)——解析模块(parsers)、异常模块(exception_handler)、响应模块(Response)、三大序列化组件介绍、Serializer组件(序列化与反序列化使用)

    解析模块 为什么要配置解析模块 1)drf给我们提供了多种解析数据包方式的解析类 form-data/urlencoded/json 2)我们可以通过配置来控制前台提交的哪些格式的数据后台在解析,哪些 ...

  7. todolist 包含本地存储知识

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 前台调用微信接口成功还报Network Error

    前台   vue+springboot项目 this.api({ url:"https://.....",//微信路径 method:"post", param ...

  9. JAVA调用ORACLE存储过程时间类型参数没有日期

    是因为使用cs.setDate()给数据库传参数只会传日期部分.如果改用如下代码就可以: cs.setTimestamp(3, new java.sql.Timestamp(dKssj.getTime ...

  10. 浅谈分词算法基于字的分词方法(HMM)

    前言 在浅谈分词算法(1)分词中的基本问题我们讨论过基于词典的分词和基于字的分词两大类,在浅谈分词算法(2)基于词典的分词方法文中我们利用n-gram实现了基于词典的分词方法.在(1)中,我们也讨论了 ...