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.hqwc.cn/news/688250.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(ICLR,2024)GRAFT:通过地面远程对齐无需文本注释训练遥感图像的视觉语言模型

文章目录 相关资料摘要引言方法图像级VLMs像素级VLMs收集地面-卫星图像对用基础模型增强GRAFT VLMs 实验图像级理解像素级理解 相关资料 论文:Remote Sensing Vision-Language Foundation Models without Annotations via Ground Remote Alignment 项目地址&#x…

SOLIDWORKS PDM—用户的个性化设置

SOLIDWORKS 产品数据管理 (PDM) 解决方案可帮助您控制设计数据,并且从本质上改进您的团队就产品开发进行管理和协作的方式。使用 SOLIDWORKS PDM Professional,您的团队能够:1. 安全地存储和索引设计数据以实现快速检索;2. 打消关…

【数据结构陈越版笔记】第1章 概论

我最近准备以陈姥姥的数据结构教材为蓝本重新学一下数据结构,写一下读书笔记 第1章 概论 1.1 引子 概论中首先描述了,数据结构的定义没有具体的定义,初学者可以不用管这个定义的问题,但是我理解的和维基百科的说法是一样的“数…

GaussDB数据库SQL系列-复合查询

目录 一、前言 二、复合查询基础 三、实际应用示例 1、使用UNION合并查询结果 2、使用INTERSECT找出共同元素 3、使用EXCEPT排除特定结果 四、高级技巧 1、子查询实例 2、JOIN的应用 五、总结 一、前言 GaussDB是华为自主创新研发的分布式关系型数据库,具…

输出电流保护/限制方案分享

需求 对电源输出进行 过/限 流保护。 方案1 采样电流输出模拟电压 -> 电压比较器 -> 控制MOS 打开/关闭; 这个方案的问题是: 当过流MOS关断之后,电流采样的电压是0,会快速使使MOS重新打开,电路现象是好像没关…

信安标委发布16项网络安全国家标准:8项为旧标准替代,8项标准为新发布

1. 背景 根据2024年4月25日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告(2024年第6号),全国网络安全标准化技术委员会归口的16项国家标准正式发布。 2. 标准清单 本次国家标准涵盖了信息技术安全评估准则、…

agiletc部署

数据库创建及运行 启动命令 cd /AgileTC/case-server&& nohup mvn spring-boot:run &查看是否启动成功 http://192.168.101.:8094/case/caseList/1需要安装java javac等 一、安装java 1 安装java11 sudo yum install java-11-openjdk-devel -y2 切换到java11 …

【信道编码】2 卷积码、状态转移图、状态转移表、网格表示和码字路径

【信道编码】2 卷积码、状态转移图、状态转移表、网格表示和码字路径 写在最前面例题先行,原理随后示例:输入为01011100状态转移表状态转移图 卷积码的原理原理与结构工作流程误差纠正 (2,1,2)卷积编码器工作原理结构和示例状态转…

【Java难点】多线程-终极【更新中...】

Java内存模型之JMM 为什么需要JMM 计算机存储结构:从本地磁盘到主存到CPU缓存,也就是从硬盘到内存,到CPU。一般对应的程序的操作就是从数据库查数据到内存然后到CPU进行计算。 CPU和物理主内存的速度不一致,所以设置多级缓存&am…

Github 2024-05-10 Java开源项目日报Top10

根据Github Trendings的统计,今日(2024-05-10统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10C++项目2JavaGuide - Java 程序员学习和面试指南 创建周期:2118 天开发语言:Java协议类型:Apache License 2.0Star数量:140773 个…

机器学习求数组的迹

机器学习求数组的迹、也叫求矩阵的迹。 矩阵的迹,也称为迹数,是矩阵主对角线上所有元素的和。矩阵的迹具有以下重要性质:- 不变性:矩阵的迹在转置、加法、乘法等运算下保持不变。- 特征值关系:一个方阵的迹等于其所有特…

手机恢复出厂设置会怎么样?一切回到了原点?

随着智能手机的普及,我们每天都在与手机紧密互动,里边存储了大量的个人信息和应用数据。然而,有时候我们会遇到手机卡顿、应用崩溃或数据丢失的问题。这时,恢复出厂设置成为了许多人的选择。那么,手机恢复出厂设置会怎…