经过前面两小节 一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址。
二.Winform使用Webview2在Demo1中实现地址简单校验 我们已经学会了创建Form窗体。
解决方案资源管理
右键添加From窗体
输入Demo2.cs
MainForm
窗体上添加button,文字修改为和WebView2 中HTML 和C#之间通信
/// <summary>
/// 按钮点击打开Demo2窗口
/// </summary>
private void btnDemo2_Click(object sender, EventArgs e)
{
Demo2 demo2 = new Demo2();
demo2.Show();
}
Demo2
同级别目录添加HTML
文件夹和demo2.html
demo2.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></script>
<body>
<h1>Hello ,Winform +<b>WebView2</b> </h1>
</body>
</html>
复制到输出目录
复制到输出目录
为如果较新则复制
设置之后我们通过运行可以看到生成目录中就有了demo2.html。使用生成目录中的
demo2.html
是为了便于我们后期通过打包安装等操作后程序可以加载正确的路径。
F5
启动生成之后如下图
生成到
Debug
目录还是Release
目录取决于解决方案配置
如下
修改对应按钮(Name)
btnRefresh
btnSendToHtml
)butByHtmlChange
) 同时设置 Enabled
为False
mainView2
)为Demo2窗体添加Load事件
/// <summary>
/// 窗体加载程序
/// </summary>
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);
}