使用CefSharp在.Net程序中嵌入Chrome浏览器

 更新时间:2022年06月26日 10:30:55   作者:天方  
这篇文章介绍了使用CefSharp在.Net程序中嵌入Chrome浏览器的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

有的时候,我们需要在程序中嵌入Web浏览器,其实.Net Framework中本身就提供了WebBrowser控件,本身这个是最简单易用的方案,但不知道是什么原因,这个控件在浏览网页的时候有些莫名的卡顿,有的时候甚至能达到好几秒,严重影响体验。

这个时候,我们可以考虑使用第三方浏览器来代替系统的WebBrowser,常见的方案是使用版本帝Chrome,Chrome本身提供了供第三方程序嵌入的方案Chromium Embedded Framework (CEF),但这个是C++的接口,在.Net程序中使用还是有一定的工作量的。不过目前已经有一些开源的项目完成了这一封装,其中的一个佼佼者就是CefSharp,WPF和WinForm的封装都实现了,本文就简单的介绍一下如何在WPF程序中使用CefSharp来嵌入Chrome浏览器。

安装:

安装的过程非常简单,只要使用NuGet安装CefSharp.Wpf即可。

PM> Install-Package CefSharp.Wpf

安装过程本身比较常规,不过值得一提的是,这个包非常大,由于集成了x86和x64的版本,整个包(加上几个依赖的包)达到了200多mb,基于众所周知的原因,和Nuget的访问一直不大通畅,有时还抽风整个过程非常漫长,一定要有足够的耐心以及人品。

修改编译选项:

由于Chrome是原生程序,目前CefSharp还不能做到32位和64位自动识别,不能使用默认的AnyCPU的编译选项,需要修改一下配置管理器,改成x86或x64才行。

使用:

使用的过程比较简单,直接使用如下代码即可。

    private void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        var setting = new CefSharp.CefSettings();
        CefSharp.Cef.Initialize(setting, true, false);

        var webView = new CefSharp.Wpf.ChromiumWebBrowser();
        this.Content = webView;

        webView.Address = "http://www.cnblogs.com/TianFang/";
    }

参数设置

在实现了.Net程序中嵌入Chrome浏览器后,下一步的个性化操作就是加入一些设置了,,我们可以看到在使用Chrome控件前,有如下一个操作:

    var setting = new CefSharp.CefSettings();
    CefSharp.Cef.Initialize(setting, true, false);

这个setting变量就是用来存放chrome的全局设置的地方,当需要进行设置的时候,只需要对它进行修改即可。例如,我们要修改缓存目录,只需要如下设置即可:

    var setting = new CefSharp.CefSettings()
    {
        CachePath = Directory.GetCurrentDirectory() + @"\Cache",
    };

另外,有的设置是通过启动参数传入的,这些启动参数存放在CefCommandLineArgs成员中了,通过字符串的形式传入。例如,我们要给Chrome程序加一个代理服务器,则可以修改如下:

setting.CefCommandLineArgs.Add("--proxy-server", "http://127.0.0.1:8877");

到此这篇关于使用CefSharp在.Net程序中嵌入Chrome浏览器的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • WPF框架Prism中区域Region用法介绍

    WPF框架Prism中区域Region用法介绍

    这篇文章介绍了WPF框架Prism中区域Region用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • ASP.NET MVC HtmlHelper如何扩展

    ASP.NET MVC HtmlHelper如何扩展

    ASP.NET MVC 中HtmlHelper方法为我们提供很多html标签,只需在页面调用就行了,但是微软并没有把所有的html标签都对应有了扩展方法,需要我们自定义HtmlHelper,来满足我们需要。
    2016-05-05
  • c#.NET 写txt文件小例子

    c#.NET 写txt文件小例子

    在.NET里,有时要往TXT文件里写内容,其实很简单。
    2013-06-06
  • 利用IIS调试ASP.NET网站程序的完整步骤

    利用IIS调试ASP.NET网站程序的完整步骤

    这篇文章主要给大家介绍了关于利用IIS调试ASP.NET网站程序的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • 在asp.NET中字符串替换的五种方法

    在asp.NET中字符串替换的五种方法

    asp.NET中字符串替换方法小结
    2008-11-11
  • asp.net 获取指定文件夹下所有子目录及文件(树形)

    asp.net 获取指定文件夹下所有子目录及文件(树形)

    asp.net获取指定文件夹下所有子目录及文件,现在有asp.net的站的就是用这样的原理显示文件的
    2008-07-07
  • 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定

    详解ASP.NET MVC 常用扩展点:过滤器、模型绑定

    本篇文章主要介绍了详解ASP.NET MVC 常用扩展点:过滤器、模型绑定,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • 手把手教你AspNetCore WebApi数据验证的实现

    手把手教你AspNetCore WebApi数据验证的实现

    这篇文章主要介绍了手把手教你AspNetCore WebApi数据验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Entity Framework生成DataBase First模式

    Entity Framework生成DataBase First模式

    本文详细讲解了Entity Framework生成DataBase First模式的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#中使用SQLite数据库的方法介绍

    C#中使用SQLite数据库的方法介绍

    SQLite是一个开源的轻量级的桌面型数据库,它将几乎所有数据库要素(包括定义、表、索引和数据本身)都保存在一个单一的文件中。SQLite用C编写实现,它在内存消耗、文件体积、操作性能、简单性方面都有不错的表现
    2012-01-01

最新评论