1. Program.cs程序设置
NanUIQQ群:521854872,以下用法在群资源里作者上传的有一个简单的视频参考。
/*先启动winform后续启动nanui*/
WinFormium.CreateRuntimeBuilder(
env => { },
app => {
app.UseEmbeddedFileResource("http", "assembly.app.local", "EmbeddedRes");
app.UseMainWindow(context => {
context.MainForm = new winformwindow();//“winformwindow”是基于Form的winform窗体,这里要注意这么写,是Nanui“CreateRuntimeBuilder()”中启动winform窗体的方式
return null;
});
}
).Build().Run();
2.winformwindow.cs(这个是winform窗体)程序设置
通过点击该winform窗体中的按钮button1,实现跳转至NanUI的Formium窗口。“start_window()”是一个基于Formium的一个NanUI启动窗口。
private void button1_Click(object sender, EventArgs e)
{
start_window form01 = new start_window();//Formium窗口
this.Hide();
form01.ShowDialog();
this.Dispose();
}
(winformwindow)
点击button1后,跳转至start_window.
(start_window)
3.NanUI的Formium类型的启动窗体(start_window)继续跳转至另一个Formium类型的主窗体(Mainform)
01.start_window.cs程序设置
protected override void OnReady()
{
//注册 JavaScript 对象
var jsObject = new JavaScriptObject();
注册同步方法launchDemo02,用于在start_window对应的startui.html中点击按钮跳转
jsObject.Add("launchDemo02", (args =>
{
InvokeIfRequired(() =>
{
Mainform form2 = new Mainform();//要跳转到的Formium主窗体
//Close(true);//Close关不上不知为何,用了Hide(),求大神讲解;
Hide();
form2.ShowDialog();
});
return null;
}));
//然后将这个对象注册到 JavaScript 环境的Formium.external里,并取名launcher。
RegisterJavaScriptObject("launcher", jsObject);
}
这里使用Close()方法关不上start_window不知为何,用了Hide(),求大神讲解;
02. startui.html程序设置
<body>
<h2>22222222222222222222</h2>
<button onclick="Formium.external.launcher.launchDemo()">启动</button>
<button onclick="Formium.external.launcher.launchDemo02()">启动02</button>
</body>
(start_window)
点击“启动02”跳转至Mainform界面
(Mainform界面)