• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#客户端嵌入Chrome浏览器的实现

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap