C#客户端嵌入Chrome浏览器的实现
https://blog.csdn.net/lanwilliam/article/details/79639823
客户端软件,也就是传统的Winform软件,在很多时候是很好用的。因为在做一些打印、本地设备操作的时候,纯Web系统还是存在很多局限性的。例如很多驱动你需要单独写cab包啦,交互式实现调试很困难啦,浏览器适配问题啦等等。这个时候,Winform结合Web的方式,就是一种比较好的选择。 传统上来说,.net本身支持WebBrowser,但是WebBrowser这个东西是基于本地操作系统IE浏览器的,一些CSS的样式解析啦,还有一些权限什么的,还是没有办法很好的控制。这时候我们就会想要把Chrome浏览器嵌入过来用了。 最早网上有Webkit的一些控件,但是现在已经不提供更新维护了。所以截止目前为止,CefSharp是一个比较好的解决方案。CefSharp是嵌入的Chromium浏览器,基本等同chrome。 笔者这里用的是VS2017社区版,简单写写操作,给大家扫盲吧。 首先是先搭建基本的开发环境。 1. 新建Winform应用程序。 2. 在解决方案管理器上,右键单击引用,选择“管理NuGet程序包”。 3. 点击浏览选项卡,搜索CefSharp,在列表中选择CefSharp.WinForms,安装CefSharp包,会自动安装相关引用包。 4. 打开引用列表,看到有CefSharp,CefSharp.Core,CefSharp.Winforms这三个包就OK了。 然后说一下基本的用法。先实现把ChromeWebBrowser嵌入到窗体中去并打开百度好了。 public ChromiumWebBrowser browser; public void InitBrowser(){ Cef.Initialize(new CefSettings()); browser = new ChromiumWebBrowser ("www.baidu.com"); this.Controls.Add(browser); browser.Dock = DockStyle.Fill; } 然后再窗体构造函数中,InitializeComponent()之后调用InitBrowser()方法,将browser添加到窗体中去。 这里要说一下,CefSharp这个开源项目,目前应该没有办法导入VS的工具箱(至少笔者没成功),所以只能通过代码方式创建对象,browser的事件,也都需要代码注册,不过只要不是太新的新手,应该很快就习惯了。 这样运行就能打开百度的页面了。 第一篇就这样吧,接下来会说一下如何在browser中的html页面里,用js调用Winform中的方法。 --------------------- 本文来自 b哈利路亚d 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/lanwilliam/article/details/79639823?utm_source=copy
C#客户端嵌入Chrome浏览器的实现的更多相关文章
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(一)——简介
有的时候,我们需要在程序中嵌入Web浏览器,其实.Net Framework中本身就提供了WebBrowser控件,本身这个是最简单易用的方案,但不知道是什么原因,这个控件在浏览网页的时候有些莫名的卡 ...
- 转-使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器
使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器 2016-09-23 分类:.NET开发.编程开发.首页精华0人评论 分享到:更多3 本文由码农网 – 小峰原创翻译,转载 ...
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(二)——参数设置
在实现了.Net程序中嵌入Chrome浏览器后,下一步的个性化操作就是加入一些设置了,在前面的文章中,我们可以看到在使用Chrome控件前,有如下一个操作: var setting = new Cef ...
- JxBrowser之一:Java嵌入Chrome浏览器
1.JxBrowser是一个让Java可以轻松集成Chrome浏览器的跨平台库:一般用于网络爬虫或者网页自动化测试等. 官方网址:https://jxbrowser.support.teamdev.c ...
- 在 C# App 中嵌入 Chrome 浏览器使用 CefSharp
介绍 以前曾试过在app中整合一个可靠又快速的web浏览器吗? 在本文中,你会学到如何轻松地将奇妙的CefSharp网页浏览器组件(基于Chromium)集成到你的C# app中. 然后,你可以使用此 ...
- 使用CefSharp 在C#用户控件中嵌入Chrome浏览器使用方法
CEF(Chromium Embedded Framework, 嵌入式Chromium框架)是C/C++开发的库 目前 Google Chrome(Google浏览器),Chromium浏览器,Op ...
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(七)——右键菜单
一个常用的功能就是禁止浏览器本身的右键菜单,靠在WPF中拦截鼠标事件是不行的,可以通过设置MenuHandler来实现. 首先实现一个IContextMenuHandler. public class ...
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(四)——启动优化
在实际使用过程中,发现有的客户端会出现chrome加载网页过慢问题,定位后发现很多是因为设置系统代理所致,此时可以通过如下启动参数禁止系统代理. {"proxy-auto-detect&qu ...
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(九)——性能问题
在使用CEF的过程中,我发现了一个现象:WPF版的CEF比Chrome性能要差:一些有动画的地方会掉帧(例如,CSS动画,全屏图片拖动等),视频播放的效果也没有Chrome流畅. 查了一下相关资料,发 ...
随机推荐
- sql sever跨数据库复制数据的方法
1,用Opendatasource系统函数 详细的用法已经注释在sql代码中了.这个是在sqlserver到sqlserver之间的倒数据.2005,2008,2012应该都是适用的. --从远程服务 ...
- FormWindowState.Maximized的陷阱
MDI父窗体下面有很多子窗体.子窗体打开时都是以FormWindowState.Maximized的属性打开的,但是结果部分如意,部分奇怪. 先贴上单实例的代码: static TestForm _s ...
- 【随记】Q号解除限制一波三折
平日里养了一批QQ号码,前段时间部分号码出问题了,在一个不可能是我登录的时间登录了,而且还异常操作了.结果,被QQ安全中心关进了小黑屋,让我发送手机短信去领回来.这是事情的背景,不细述了. 这个事情的 ...
- Spring Cloud Config 配置中心 自动加解密功能 JCE方式
1.首先安装JCE JDK8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.h ...
- js关于函数和对象的概念
<script type="text/javascript"> function func1(fn){ if(typeof(fn)=="function&qu ...
- Javascript导航菜单13则
来源:http://www.noupe.com/ajax/13-awesome-java-script-css-menu.html翻译:http://parandroid.com下面为你准备了13个利 ...
- 25个顶级的jQuery表格插件
jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...
- USB2.0学习笔记连载(六):USB2.0硬件设计需要注意事项
笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480 ...
- php 保存文件
$data = file_get_contents("data/3.txt"); $ary = split(',',$data); $test2=serialize($ary); ...
- 使用Git之后出现android library引用失败
今天在做android项目的使用,因为使用了git做代码托管,我的工作空间是在F盘,而git仓库是在E盘,现在E盘的项目要用到F盘上的的android library项目.但是无论我怎么引用都报错误. ...