当前位置: 首页 > news >正文

C#学习笔记12:Winform网页操作-CefSharp内嵌浏览器

今日学习使用Winform操作网页,先从从窗体内嵌一个浏览器开始吧:

文章提供测试代码讲解、测试效果图、整体测试工程下载

目录

CefSharp介绍与安装:

创建解决方案安装CefSharp:

控件放置:

 整体代码贴出:

 更改网址:

测试效果展示:

整体工程下载:

查阅资料网址贴出:


CefSharp介绍与安装:

CefSharp是一个基于Chromium Embedded Framework(CEF)的.NET封装库,它允许在C#应用程序中嵌入Chromium浏览器。CefSharp的主要用途是嵌入了第三方应用以实现浏览器相关的功能,例如显示网页、执行JavaScript代码、处理用户输入等。CefSharp可以用于开发各种类型的应用程序,如网页浏览器、网页编辑器、Web应用程序等。它提供了丰富的API和功能,使开发人员能够轻松地与Chromium浏览器进行交互和控制。CefSharp是Cef的C#版本,让Chromium浏览器也可嵌入WinForms和WPF中。

简言之,Cef支持HTML,CSS,JavaScript,可以在CS中像web网站那样操作。与winform中自带的webBrowser一样,只是CefSharp是独立的,基于Chrome浏览器,而webBrowser基于IE浏览器。 

创建解决方案安装CefSharp:

首先建立一个winform程序,项目选择.NET Framework4.8框架

在Nuget中,下载cefsharp:

控件放置:

 没有放置别的控件,仅仅一个Tabcontrol而已:

 整体代码贴出:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;using CefSharp;
using CefSharp.WinForms;namespace WpfWithCefSharpDemo
{public partial class Form1 : Form{public ChromiumWebBrowser chromeBrowser;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){InitializeChromium(GetTabPage1());//初始化}public TabPage GetTabPage1(){return tabPage1;}public void InitializeChromium(TabPage tabPage1){CefSettings settings = new CefSettings();settings.Locale = "zh-CN";// Initialize cef with the provided settingsCef.Initialize(settings);// Create a browser componentchromeBrowser = new ChromiumWebBrowser("https://www.bilibili.com/");// Add it to the form and fill it to the form window.//this.Controls.Add(chromeBrowser);//chromeBrowser.Dock = DockStyle.Fill;// 确保tabPage1已经被添加到tabControl中  // 如果还没有,你需要先创建并添加它:tabControl.TabPages.Add("My Tab", "tabPage1");  // Add the browser to the TabPage's Controls collection, not the Form's  tabPage1.Controls.Add(chromeBrowser); // 假设tabPage1是TabControl中的一个TabPage  chromeBrowser.Dock = DockStyle.Fill; // Fill the entire TabPage with the browser  }private void Form1_FormClosing(object sender, FormClosingEventArgs e){Cef.Shutdown();}}}

 更改网址:

 可以在框出的代码部分更改你要访问的网页网址:

测试效果展示:

整体工程下载:

https://download.csdn.net/download/qq_64257614/89291975

查阅资料网址贴出:

CefSharp入门-winform-CSDN博客

http://www.lryc.cn/news/348917.html

相关文章:

  • NSSCTF | [SWPUCTF 2021 新生赛]babyrce
  • 环保不只是口号,绿葆自助取袋机助力1000多家医院环保行动!
  • DELL服务器配置ILO(idrac)地址、修改管理员密码
  • 如何打造个人IP?
  • 【PostgreSQL支持中文的全文检索插件(zhparser)】
  • SHAP分析交互作用的功能,如果你用的模型是xgboost
  • 瑞友科技质量改进服务事业部总经理张力受邀为第十三届中国PMO大会演讲嘉宾
  • CVE-2024-4761 Chrome 的 JavaScript 引擎 V8 中的“越界写入”缺陷
  • 字符串函数(二):strlen(求长度),strstr(查找子串),strtok(分割),strerror(打印错误信息)
  • EUCR-30S电机保护器施耐德EOCR
  • 人工神经网络(科普)
  • 宇宙(科普)
  • 安防视频/视频汇聚系统EasyCVR视频融合云平台助力智能化酒店安防体系的搭建
  • SpringCloudAlibaba:5.1Sentinel的基本使用
  • SHELL-双重循环习题练习
  • 2024年为什么很多电商商家,都想涌入视频号,究竟是什么原因?
  • Google Gemma 2B 微调实战(IT科技新闻标题生成)
  • RabbitMQ:深入理解高性能消息队列
  • 【北京迅为】《iTOP-3588开发板源码编译手册》-第4章 Android12/Linux设备树简介
  • C++ C# 贝塞尔曲线
  • 勒索软件漏洞?在不支付赎金的情况下解密文件
  • 实时“秒回”,像真人一样语音聊天,GPT-4o模型强到恐怖
  • Properties配置文件和源码
  • redis原生命令及项目使用
  • 使用VSCode生成代码、查询数据表
  • 使用 PXE+Kickstart 批量网络自动装机
  • 微信小程序交互增强:实现上拉加载、下拉刷新与一键返回顶部【代码示例】
  • leetcode刷题指南
  • hadoop学习---基于Hive的数据仓库相关函数机制及其优化方案
  • 【MySQL数据库】丨高可用之MHA集群部署