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

做ppt比较好的网站有哪些网页历史记录在哪里

做ppt比较好的网站有哪些,网页历史记录在哪里,构建自己最出色的wordpress主题,视频发布网站有哪些内容Winform使用Webview2加载本地HTML页面并互相通信 往期目录本节目标核心代码实现HTML代码实现的窗体Demo2代码效果图 往期目录 往期相关文章目录 专栏目录 本节目标 实现刷新按钮点击 C# winform按钮可以调用C# winform代码显示到html上点击HTML按钮可以调用C# winform代码更…

Winform使用Webview2加载本地HTML页面并互相通信

  • 往期目录
  • 本节目标
  • 核心代码
  • 实现HTML代码
  • 实现的窗体Demo2代码
  • 效果图

往期目录

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

本节目标

  • 实现刷新按钮
  • 点击 C# winform按钮可以调用C# winform代码显示到html上
  • 点击HTML按钮可以调用C# winform代码更改html按钮字体

核心代码

  • C# -> html
	this.mainView2.ExecuteScriptAsync("调用方(发送消息..)");
  • html->C#
    • 确保mainView2的CoreWebView2异步初始化完成
this.mainView2.EnsureCoreWebView2Async(null);
    • 在webview2的CoreWebView初始化之后设置属性
	//coreWebview2完成时发生。在完成时进行一系列设置。this.mainView2.CoreWebView2InitializationCompleted += (object sender, CoreWebView2InitializationCompletedEventArgs e)=>{this.mainView2.CoreWebView2.Settings.IsScriptEnabled = true; 
}
    • 在coreWebview2完成时添加WebMessageReceived监听。如下代码。
     this.mainView2.CoreWebView2InitializationCompleted += (object sender, CoreWebView2InitializationCompletedEventArgs e) => {this.mainView2.CoreWebView2.Settings.IsScriptEnabled = true;this.mainView2.CoreWebView2.WebMessageReceived += CoreWebView2_WebMessageReceived;};
    • 实现接受方法
/// <summary>
/// 页面发送消息时,后台接受信息
/// </summary>private void CoreWebView2_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
{// e.WebMessageAsJson.ToString();为获取到的JSON字符串
}

实现HTML代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Demo2TextHTMl</title>
</head><script>// 声明一个函数,在winform端 进行调用,并将调用的数值展示到页面上function winformToHtmlText(text){document.querySelector('.test1').innerHTML=text;}//当前函数通过html处罚更改Winform界面上的按钮字体function htmlToWinformText() {alert("开始发送");try {chrome.webview.postMessage("创建按钮点击更改winform窗体上的按钮字体");chrome.webview.postMessage({ b: "创建按钮点击更改winform窗体上的按钮字体" });} catch (e) {alert(e.message)}}</script>
<body><div class="test1"></div><div><button onclick="htmlToWinformText()">创建按钮点击更改winform窗体上的按钮字体</button></div>
</body>
</html>

实现的窗体Demo2代码

public partial class Demo2 : Form{public Demo2(){InitializeComponent();this.mainView2.EnsureCoreWebView2Async(null);}/// <summary>/// 窗体加载程序/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private async void Demo2_Load(object sender, EventArgs e){//获取可执行目录地址string exePath = Application.StartupPath;//拼接计算html页面路径string relativePath = "../../HTML/Demo2.html";string path = Path.GetFullPath(Path.Combine(exePath, relativePath));this.mainView2.Source = new Uri(@"file:///" + path);//初始化 coreWebview2完成时发生。在完成时进行一系列设置。this.mainView2.CoreWebView2InitializationCompleted += (object sender2, CoreWebView2InitializationCompletedEventArgs e2) => {this.mainView2.CoreWebView2.Settings.IsScriptEnabled = true;//创建页面发送消息时,后台接受信息事件this.mainView2.CoreWebView2.WebMessageReceived += CoreWebView2_WebMessageReceived;};}/// <summary>/// html页面发送消息时,后台接受信息/// </summary>private void CoreWebView2_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e){this.butByHtmlChange.Text = e.WebMessageAsJson.ToString();}/// <summary>/// 调用html函数/// </summary>private void btnSendToHtml_Click(object sender, EventArgs e){string text = "这是一段从窗体发送到HTMl的文字!";this.mainView2.ExecuteScriptAsync($"winformToHtmlText('{text}')");}  /// <summary>/// 刷新按钮/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnRefresh_Click(object sender, EventArgs e){this.mainView2.Reload();}}

效果图

  • 从窗体发送到HTMl的文字
    从窗体发送到HTMl的文字!
  • 从HTML 修改窗体按钮文字
    从HTML 修改窗体按钮文字

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

http://www.laogonggong.com/news/93911.html

相关文章:

  • 网站静态首页模板长沙最新招聘信息
  • 淘宝网站icp备案wordpress网站模板仿站工具
  • 集团网站开发多少钱小程序怎么运营推广
  • 怎么建设h5网站网站建设明细价格表
  • 申请网站建设费用的请示网站建设报价分析
  • 东莞建设网网上平台克州seo整站排名
  • 助孕网站优化推广为什么企业要建设自己的企业文化
  • 制作网站推广码柯城网站建设
  • 阳江企业网站排名优化wordpress怎么做双语站
  • 沈阳网站建设教案模板自治区住房和城乡建设部网站
  • 网站如何实现临时聊天设计图案大全图片
  • 中文wordpress网站店铺推广语
  • 专门做spa的网站我的世界电影怎么做的视频网站
  • 太原网站seo顾问电商网站开发研究内容和预期成果
  • 深圳找工作哪个网站好浏览器加速器
  • 设计网站排名驻马店专业做网站公司
  • 做网站挣钱快又多学院网站建设方案
  • 旅游网站简介呢图网站
  • 网站封装成app可以做热更新无法解析您网站的域名.
  • wordpress网站样式搭建商城网站
  • 网站app的区别是什么德清网站建设
  • 建造个网站花多少钱广告投放是什么工作
  • 房产经纪人如何做网站吸客东莞松山湖招聘
  • 视频网站推广怎么做wordpress博客插件
  • 网站流量报告龙江网站建设公司
  • 网络营销的主要形式有建设网站深圳 福田 网站建设
  • 北风风淘网站开发数字营销公司排行榜
  • 刚做的网站 为啥搜不到网站建设程序员提成
  • 目前市面上做网站的程序google网站管理员中心
  • 汉口江岸区城市建设局网站怎样做品牌推广网站