C#中使用Chrome内核的CefSharp WinForm访问页面
前言
IE速度慢兼容性差不用多说,而VS C#自带控件工具箱中的WebBrowser使用的是系统自带的IE内核,如果涉及Web应用的访问,抛弃也是必然的。
本文将介绍基于Chrome内核的CefSharp WinForm组件的安装与使用。
一.组件的安装
新建WinForm项目后在 项目->管理NuGet程序包->浏览中搜索CefSharp,选择WinForm版本后直接安装,会有以下四个依赖项:
cef.redist.x64.3.3239.1723
cef.redist.x86.3.3239.1723
CefSharp.Common.63.0.3
CefSharp.WinForms.63.0.3
如果你恰巧没法使用在线的NuGet管理,那么可以手动去https://www.nuget.org/搜索下载以上包。
二.基础使用
CefSharp的易用性很好,不愧为Chrome内核。
Form1.cs:创建browser后填充到整个Form中。
public partial class Form1 : Form
{
private readonly ChromiumWebBrowser browser;
public Form1()
{
InitializeComponent();
browser = new ChromiumWebBrowser("http://www.baidu.com")
{
Dock = DockStyle.Fill,
};
this.Controls.Add(browser);
}
~Form1()
{
browser.Dispose();
}
private void btn_Click(object sender, EventArgs e) // 可以准备一个text文本框一个btn用于自己输入网址后跳转
{
if (Uri.IsWellFormedUriString(txt_url.Text, UriKind.RelativeOrAbsolute))
{
browser.Load(txt_url.Text);
}
}
}
Programe.cs:初始化与清理Cef组件
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Cef.Initialize();
Application.Run(new Form1());
Cef.Shutdown();
}
}