一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址

news2024/11/20 8:32:42

Winform使用Webview2创建demo1实现回车导航到指定地址

  • 往期目录
  • 参考文档
  • 实现
    • 1.安装visual studio
    • 2.创建单窗口应用
    • 3.修改项目中的窗体名称MainForm
    • 4.添加按钮
    • 5.添加窗口`Demo1`
    • 6.在Demo1中添加WebView2 SDK
    • 7.在`Demo1`窗体中选择添加textbox和webview2
    • 8.在`MainForm.cs`窗体中添加button的点击事件
    • 9.在`Demo1`中为`TextBox`创建回车跳转到对于导航
  • 效果
  • 往期目录

往期目录

往期相关文章目录
专栏目录

参考文档

WinForms 应用中的 WebView2 入门

实现

1.安装visual studio

按照官方文档一路操作,可以自行百度或者查看WinForms 应用中的 WebView2 入门。为了避坑,本人安装的时vs2022(visual studio 以下简称vs)

2.创建单窗口应用

打开vs(visual studio 以下简称vs) 点击创建新项目,选择C# Windows 窗体应用 (.NET Framework) 注意后面一定要带有(.NET Framework) 不然有些用不了。然后选择.NET Framework4.7.2
创建项目

3.修改项目中的窗体名称MainForm

因为后面要做好多Demo,所以做一个统一入口界面,防止许多点击按钮进行跳转各个Demo
整体修改需要做以下步骤

  • 在解决方案资源管理器 双击Form1.cs,选中Fom1窗体,再右侧找到属性窗口中的(name)修改为MainForm。属性窗口可以通过视图->属性窗口或者Ctrl+w,p打开 在这里插入图片描述
    在右侧解决方案资源管理器中选中Form1.csF2修改为MainForm在这里插入图片描述
  • Program.cs修改Form1MainForm
 /// <summary>
 /// 应用程序的主入口点。
 /// </summary>
 [STAThread]
 static void Main()
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     //修改`Form1`为`MainForm`
     Application.Run(new MainForm());
 }

4.添加按钮

在解决方案资源管理器中双击MainForm.cs 。在视图点击工具箱或者Ctrl+w,x打开工具箱。
在工具箱中选择Button,拖拽到右侧MainForm窗体上。
选择按钮
在按钮上右键属性打开属性栏。修改按钮名称为btnDemo1,文字为 Webview2 初始基本HTML展示,回车导航
在这里插入图片描述
在这里插入图片描述

5.添加窗口Demo1

资源管理器选中解决项目,鼠标右键添加,添加窗体,输入Demo1添加。
在这里插入图片描述
在这里插入图片描述

6.在Demo1中添加WebView2 SDK

官方这一步骤挺详细的WinForms 应用中的 WebView2 入门 -> 步骤 4 - 安装 WebView2 SDK, 图标和官方有点不一样。
在这里插入图片描述
添加完之后在工具箱中可以看到webview2了
工具箱中的webview2
若如果没有出现可以查看官方的WinForms 应用中的 WebView2 入门 -> 步骤 5 - 创建单个 WebView2 控件 -> 5,6 点,

7.在Demo1窗体中选择添加textbox和webview2

现在你已经学会则怎么在窗体上创建按钮。同样的操作,在Demo1中从工具箱中拖拽 TextBoxWebView2.

  • 在属性栏中修改TextBox 如下属性
    (Name)->navigationUrl
    Anchor->Top,Left,Right

  • 在属性栏中修改WebView2如下属性
    (Name)->mainView2
    Anchor->Top,Bottom,Left,Right
    Source->https://www.baidu.com 页面导航地址

8.在MainForm.cs窗体中添加button的点击事件

回到MainForm窗体,找到前面创建的按钮,双击会跳转到对于的点击事件窗口。或者选中按钮通过右侧属性栏找到Click 双击跳到对应事件Click事件
添加如下代码

/// <summary>
/// 按钮点击打开Demo1窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDemo1_Click(object sender, EventArgs e)
{
    Demo1 demo1 = new Demo1();
    demo1.Show();
}

点击启动按钮或者F5启动应用。点击按钮会出现如下界面。
点击按钮Webview2 初始基本HTML展示,回车导航出现Demo1

9.在Demo1中为TextBox创建回车跳转到对于导航

选中TextBox在右侧属性栏中事件KeyDown,双击添加事件
在这里插入图片描述
添加如下代码

/// <summary>
/// 输入url地址,回车跳转到导航
/// </summary>
private void navigationUrl_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        try
        {
            this.mainView2.CoreWebView2.Navigate(
            this.navigationUrl.Text);
        }
        catch (Exception exception)
        {
            this.mainView2.ExecuteScriptAsync($"alert('{exception.Message.ToString()}')");
        }
    }
}

效果

启动在Demo1窗体中输入其他地址回车试试
输入地址https://www.taobao.com跳转到淘宝网
通过textbox跳转到淘宝网

往期目录

往期相关文章目录
专栏目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1402128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【开源】基于JAVA的智慧社区业务综合平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 业务类型模块2.2 基础业务模块2.3 预约业务模块2.4 反馈管理模块2.5 社区新闻模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 业务类型表3.2.2 基础业务表3.2.3 预约业务表3.2.4 反馈表3.2.5 社区新闻表 四、系统展…

数据结构期末复习(六)查找算法

查找算法 查找算法通常有两种常见的实现方式&#xff1a;顺序查找和二分查找。 顺序查找 顺序查找也称为线性查找&#xff0c;是最简单的一种查找算法。它从数据集的起点开始逐个比较每个元素&#xff0c;直到找到目标元素或者搜索到数据集的末尾。 示例代码&#xff1a; …

《WebKit 技术内幕》之六(3): CSS解释器和样式布局

3 WebKit布局 3.1 基础 当WebKit创建RenderObject对象之后&#xff0c;每个对象是不知道自己的位置、大小等信息的&#xff0c;WebKit根据框模型来计算它们的位置、大小等信息的过程称为布局计算&#xff08;或者称为排版&#xff09;。 图描述了这一过程中涉及的主要WebKit…

SpringCloud Alibaba 深入源码 - Nacos 和 Eureka 的区别(健康检测、服务的拉取和订阅)

目录 一、Nacos 和 Eureka 的区别 1.1、以 Nacos 注册流程来解析区别 一、Nacos 和 Eureka 的区别 1.1、以 Nacos 注册流程来解析区别 a&#xff09;首先&#xff0c;我们的服务启动时。都会把自己的信息提交给注册中心&#xff0c;然后注册中心就会把信息保存下来. 注册的…

前后端分离多年,为何服务端渲染(SSR)重回风口浪尖?

前后端分离多年&#xff0c;为何服务端渲染&#xff08;SSR&#xff09;重回风口浪尖&#xff1f; 什么是服务端渲染&#xff1f; 咱们先搞明白个事儿&#xff0c;啥叫服务端渲染&#xff1f;服务端渲染的全称是 Server-Side Rendering&#xff0c;简称SSR。 简单说&#xf…

深入解析 JavaScript 中的 F.prototype

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 JavaScript作为一门原型继承语言,函数的prototype属性在其中发挥着重…

基于CanvasLabel的Leaflet矢量数据免切片属性标注实践

目录 前言 一、Leaflet.CanvasLabel 1、开源地址 2、设置参数说明 二、组件集成 1、新建html文件 2、声明样式 3、定义矢量文本渲染器 4、定义地图 5、添加矢量数据 6、最终效果 总结 前言 在一般的业务场景中&#xff0c;针对小量的矢量数据&#xff0c;比如POI兴…

快速统计文件和文件夹大小

windows上没有方便统计各个层级文件夹文件大小的工具&#xff0c;于是自己做了一个 源码 https://gitee.com/chen227/calc-tree-space

imgaug库图像增强指南(32):塑造【雪景】效果的视觉魔法

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

【项目日记(三)】内存池的整体框架设计

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:项目日记-高并发内存池⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你做项目   &#x1f51d;&#x1f51d; 开发环境: Visual Studio 2022 项目日…

python-分享篇-一箭穿心

一箭穿心&#x1f498; 代码 from turtle import * color(black,red) pensize(5) begin_fill() penup() goto(50,50) pendown() right(45) goto(100,0) left(90) fd(120) circle(50,225) penup() goto(0,0) pendown() left(135) fd(120) circle(50,225) seth(90) circle(50,2…

unity 单例模式(实例详解)

文章目录 在Unity中&#xff0c;单例模式是一种常用的编程设计模式&#xff0c;用于确保在整个应用程序生命周期中&#xff0c;只有一个类的实例存在。这样可以保证数据的全局唯一性和共享性&#xff0c;例如游戏场景中的资源管理器、游戏控制器、事件管理器等。 以下是一个简单…

WorkPlus Meet私有化视频会议软件-构建安全高效的内网会议体验

在企业内部&#xff0c;高效的会议协作是推动团队协同和工作效率的关键。而内网会议系统成为了构建安全高效的内部会议体验的必要工具。作为一家领先的内网会议系统&#xff0c;WorkPlus Meet以其卓越的性能和智能化的功能&#xff0c;助力企业实现高效安全的内部会议体验。 为…

python实现图片式PDF转可搜索word文档[OCR](已打包exe文件)

目录 1、介绍 1.1、痛点 1.2、程序介绍 2、安装方式 2.1、&#x1f53a;必要环节 2.2、脚本安装 2.2.1、不太推荐的方式 2.2.2、节约内存的方式 2.3、⭐完整版安装 3、使用 3.1、最终文件目录 3.2、主程序 3.2.1、绝对路径 3.2.2、是否为书籍 3.2.3、⭐截取区域 …

Threejs实现立体3D园区解决方案及代码

一、实现方案 单独贴代码可能容易混乱&#xff0c;所以这里只讲实现思路&#xff0c;代码放在最后汇总了下。 想要实现一个简单的工业园区、主要包含的内容是一个大楼、左右两片停车位、四条道路以及多个可在道路上随机移动的车辆、遇到停车位时随机选择是否要停车&#xff0…

内存地址解码3至8 线解码器(74LS138)

3 至 8 线解码器 &#xff08;74LS138&#xff09;1 内存地址解码 处理器通常可以寻址比单个内存芯片覆盖的内存空间大得多 的内存空间。 为了将存储设备拼接到处理器的地址空间中&#xff0c;解码是必要的。 例如&#xff0c;8088 发出 20 位 地址&#xff0c;总共有 1MB 的…

stable diffuison的安装和使用

stable diffuison的安装和使用 简单介绍 Stable Diffusion是一个深度学习文本到图像的生成模型&#xff0c;它可以根据文本描述生成详细的图像。这个模型主要应用于文本生成图像的场景中&#xff0c;通过给定的文本提示词&#xff0c;模型会输出一张与提示词相匹配的图片。 S…

【spring】代码生成器

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;spring ⛺️稳中求进&#xff0c;晒太阳 代码生成器&#xff08;本质IO流&#xff09; 在mybatis的逆向工程生成model和mapper接口和xml文件后&#xff0c;还需要反复的写Service的接口和…

(2)(2.1) Andruav Android Cellular(二)

文章目录 前言 5 Andruav Web Client 6 Andruav Telemetry 7 Andruav高级功能 8 将Andruav与SITL配合使用 9 FAQ 10 术语表 前言 Andruav 是一个基于安卓的互联系统&#xff0c;它将安卓手机作为公司计算机&#xff0c;为你的无人机和遥控车增添先进功能。 5 Andruav W…

提升网站关键词排名的工具

随着互联网的蓬勃发展&#xff0c;网站的关键词排名成为衡量网站流量和曝光度的重要指标。在这个竞争激烈的数字时代&#xff0c;站在搜索引擎结果的前列变得至关重要。为了实现这一目标&#xff0c;合理利用关键词排名优化工具是必不可少的。本文将重点介绍147SEO软件&#xf…