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内核的更多相关文章
- C#Winform将WebBowser控件替换为Chrome内核
摘要 由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容 ...
- C#将WebBowser控件替换为Chrome内核
摘要 由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容 ...
- WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用
WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 转自:http://www.cnblogs.com/wuhuacong/arch ...
- 关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件
项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能 ...
- C# winform编程中多线程操作控件方法
private void Form1_Load(object sender, EventArgs e) { Thread newthread = new Thread(new ThreadStart( ...
- WinForm的延时加载控件概述
这篇文章主要介绍了WinForm的延时加载控件,很实用的技巧,在C#程序设计中有着比较广泛的应用,需要的朋友可以参考下 本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述.在进行C# ...
- 在Winform窗体中使用WPF控件(附源码)
原文:在Winform窗体中使用WPF控件(附源码) 今天是礼拜6,下雨,没有外出,闲暇就写一篇博文讲下如何在Winform中使用WPF控件.原有是我在百度上搜索相关信息无果,遂干脆动手自己实现. W ...
- C# WinForm 添加Windows Media Player 控件调试出现未能加载文件或程序集Interop.WMPLib,该怎么解决
C# WinForm 添加Windows Media Player 控件调试出现未能加载文件或程序集Interop.WMPLib如标题,在窗体中添加Windows Media Player 控件,当调 ...
- 在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件
在很多时候,我们做一些非常规化的界面的时候,往往需要创建一些用户控件,在其中绘制好一些基础的界面块,作为后续重复使用的一个单元,用户控件同时也可以封装处理一些简单的逻辑.在开发Winform各种类型项 ...
随机推荐
- Java分布式:分布式锁之Zookeeper
Java分布式:分布式锁之Zookeeper 分布式锁系列教程重点分享锁实现原理 引入ZooKeeper ZooKeeper是什么呢? ZooKeeper 是一个开源的分布式协调服务,它可以在分布式系 ...
- (转)mysql使用Navicat 导出和导入数据库
mysql使用Navicat 导出和导入数据库 ps:在导入本地数据库的时候,要先建立相同的数据库,然后再运行sql文件,即可导入相应的数据库
- LeetCode70——爬楼梯
题目描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解 ...
- Python Tkinter的学习
Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macinto ...
- 16 SpringMVC 的请求参数的绑定与常用注解
1.SpringMVC 绑定请求参数 (1)支持的数据类型 基本类型参数: 包括基本类型和 String 类型POJO 类型参数: 包括实体类,以及关联的实体类数组和集合类型参数: 包括 List 结 ...
- SpringBoot配置多数据源Mysql+Sqlite
配置了一下druid的多数据源配置,尝试了很多方法,Spring boot关于对Mysql和Sqlite多数据源的配置,记录下来: 涉及技术点: Springboot + Druid + Mysq ...
- Django框架(十三)——Auth模块
Auth模块 一.什么是auth模块 Auth模块是Django自带的用户认证模块 Auth模块是Django自带的用户认证模块,可以实现包括用户注册.用户登录.用户认证.注销.修改密码等功能.默认使 ...
- Golang 传递任意类型的切片
肯定有这样的一种场景,写一个函数,该函数可以接收任意类型的切片,完成相应的功能. 就好比这种情况 intSlice := []int{1,2,3,4,5,6,7,8} strSlice := []st ...
- Luogu2481 SDOI2010 代码拍卖会 DP、组合
传送门 神仙DP 注意到\(N \leq 10^{18}\),不能够直接数位DP,于是考虑形成的\(N\)位数的性质. 因为低位一定不会比高位小,所以所有满足条件的\(N\)位数一定是不超过\(9\) ...
- 全栈项目|小书架|服务器端-NodeJS+Koa2实现首页图书列表接口
通过上篇文章 全栈项目|小书架|微信小程序-首页水平轮播实现 我们实现了前端(小程序)效果图的展示,这篇文章来介绍服务器端的实现. 首页书籍信息 先来回顾一下首页书籍都有哪些信息: 从下面的图片可以看 ...