开源组件NanUI一周年 - 使用HTML/CSS/JS来构建.Net Winform应用程序界面

NanUI是什么

NanUI基于ChromiumFX项目进行开发,它能让你在你的Winform应用程序中使用HTML5/CSS3/Javascript等网页技术来呈现用户界面(类似Electron)。同时NanUI提供了原生窗口和定制化的无标题栏无边框窗口,你能使用全部的网页技术来设计和呈现你的应用程序界面。

开源方式

NanUI基于MIT协议,所以无论你使用NanUI来开发商业项目或者开源、免费项目都将不受任何限制,只需要遵照协议文件中规定的,在你的软件中声明使用了NanUI技术即可。

系列文档

  • NanUI简介

  • 开始使用NanUI

  • 打包并使用内嵌式的HTML/CSS/JS资源

  • 使用网页来设计整个窗口

  • 如何实现C#与Javascript相互掉用(待更新。。。)

  • 如何处理NanUI中的下载过程 - DonwloadHandler的使用(待更新。。。)

  • 如何处理NanUI中的弹窗过程 - LifeSpanHandler的使用(待更新。。。)

  • 如何控制Javascript对话框 - JsDialogHandler的使用(待更新。。。)

  • 自定义资源处理程序 (待更新。。。)

源码和包

你可以通过GitHub获取NanUI的源码以及示例代码,稳定版的NanUI包通过Nuget进行分发。NanUI支持.NET4.0/4.5/4.6/4.7和更新版本的Windows窗体应用。

获取源码

git clone https://github.com/NetDimension/NanUI.git

Nuget包管理器

常规版本(CEF 3.2987.1601.gf035232 / Chromium 57.0.2987.133

PM> Install-Package NetDimension.NanUI

WindowXP版本(CEF 3.2526.1366.g8617e7c / Chromium 47.0.2526.80

PM> Install-Package NetDimension.NanUI.XP

推荐使用Nuget包管理器安装NanUI程序集将自动安装对应的CEF依赖项,一键安装方便使用。

如何编译源码和示例

编译当前版本的NanUI需要支持C#7.0语法的编译器,推荐的编译工具有且只有Visual Studio 2017。

如何使用

初始化NanUI

namespace TestApplication{    
using NetDimension.NanUI;  

 static class Program{[STAThread]        static void Main(string[] args)        {Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);          
 //初始化CEF: 设置CEF的相关Path//如果要使用Nuget自动下载的fx文件夹结构,需要手动指定各个文件夹的路径var result = Bootstrap.Load(PlatformArch.Auto, System.IO.Path.Combine(Application.StartupPath, "fx"), System.IO.Path.Combine(Application.StartupPath, "fx\\Resources"), System.IO.Path.Combine(Application.StartupPath, "fx\\Resources\\locales"));            if (result){                // Load embedded html/css resources in assembly.Bootstrap.RegisterAssemblyResources(System.Reflection.Assembly.GetExecutingAssembly());Application.Run(new Form1());Application.Exit();}}} }

使用原生的窗口样式来使用NanUI

namespace TestApplication{   
 public partial class Form1 : Formium{        public Form1()          
 //Load embedded resource index.html and not set form to no border style by the second parameter.: base("http://res.app.local/index.html", false)      
   
{InitializeComponent();}} }

使用无边框模式来使用NanUI

namespace TestApplication{    public partial class Form1 : Formium{        public Form1()            //Load embedded resource index.html and set form to no border style by igrone the second parameter or set it to true.: base("http://res.app.local/index.html")        {InitializeComponent();}}
}

请注意:如果使用Visual Studio 2015或者更低的版本开发和调试NanUI应用程序,需要在项目属性的调试选项卡中关闭“启用VS承载进程”选项,否则调试时将出现页面不加载白屏的情况。如图所示:

社群和帮助

GitHub
https://github.com/NetDimension/NanUI/

交流群QQ群
521854872


原文地址:https://www.cnblogs.com/linxuanchen/p/NanUI-Introduction.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

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

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

相关文章

ThreadPoolExecutor 八种拒绝策略,对的,不是4种

转载自 ThreadPoolExecutor 八种拒绝策略,对的,不是4种 前言 谈到 Java 的线程池最熟悉的莫过于 ExecutorService 接口了,jdk1.5 新增的 java.util.concurrent 包下的这个 api,大大的简化了多线程代码的开发。而不论你用 Fixed…

P2842-LJJ算数【数论,快速幂】

正题 题目链接:https://www.luogu.org/problemnew/show/P2842 题目大意 求 a#baaaa…a(a\#ba^{a^{a^{a^{…^a}}}}(a#baaaa…a(进行幂运算b次) 解题思路 根据费马小当p为质数时 ap≡a(modp)a^p\equiv a(mod\ p)ap≡a(mod p) 推导得ab≡ab%(p−1)(modp)a^b\equiv a^{b\%(p-1)}…

采用Opserver来监控你的ASP.NET项目系列(三、监控你的服务器状态)

前言之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. ASP.NET Core之跨平台的实时性能监控ASP.NET Core之跨平台的实时性能监控(2.健康检查)今天我们主要来介绍一下,如何使用Opserver监控我们的服务器状态.Opserver的功能其实很强大,他可以用于连接任何支持…

Spark入门(八)之WordCount

一、WordCount 计算文本里面的每个单词出现的个数&#xff0c;输出结果。 二、maven设置 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSch…

(一)Web Service——基本概念

1.1 什么是web服务 这里列举一些常见的web服务&#xff1a; 手机淘宝、京东…. 天气预报 手机号归属地 股票查询 发手机短消息 手机充值功能 中英文翻译 银行转账业务 公司的“进销存系统”在某商品缺货时自动给供应商下订单 1.2 简介 (1) webservice 即web服务&am…

Spark入门(九)之PI估值

一、Pi估值算法 通过在圆上“投掷飞镖”来估计π。我们在单位平方&#xff08;&#xff08;0&#xff0c;0&#xff09;到&#xff08;1&#xff0c;1&#xff09;&#xff09;中随机选取点&#xff0c;看看有多少点落在单位圆内。分数应该是π/4&#xff0c;所以我们用这个来…

P1943-LocalMaxima_NOI导刊2009提高(1)【数论】

正题 题目链接:https://www.luogu.org/problemnew/show/P1943 题目大意 定义LocalLocalLocal数为一个数且比它前面的数字都要大。 求一个随机长度为nnn的序列中LoaclLoaclLoacl数的期望数量。 解题思路 ansLocal(a)n!ans\frac{Local(a)}{n!}ansn!Local(a)​ 现在我们分开求…

Net Core中数据库事务隔离详解——以Dapper和Mysql为例

事务隔离级别.NET Core中的IDbConnection接口提供了BeginTransaction方法作为执行事务&#xff0c;BeginTransaction方法提供了两个重载&#xff0c;一个不需要参数BeginTransaction()默认事务隔离级别为RepeatableRead;另一个BeginTransaction(IsolationLevel il)可以根据业务…

2017年,我的身边发生了那些事?

不知不觉&#xff0c;运营独具.NET跨平台特色的微信公众号&#xff1a;dotNet跨平台至今已经整整三年光景了&#xff0c;这三年里微软开源.NET也满三周年了。三年时间说长不长&#xff0c;说短也不短了&#xff0c;然而我还是保持着每天三篇的更新 &#xff0c;或有感而原创&am…

(二)利用Java WebService调用天气预报实践

最近要和其他业务系统进行数据交换&#xff0c;选择了webservice方案&#xff0c;于是查了一下网上的用法。首先是做一个天气的查询例子&#xff0c;看着挺简单&#xff0c;可实际动手做起来发现坑很多&#xff0c;费了半天劲终于调通了&#xff0c;于是记录下来。 1&#xff…

Spark入门(十)之Distinct去重

一、Distinct 计算文本里面的每个单词去重&#xff0c;输出结果。 二、maven设置 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-ins…

牛客练习赛46T1-华华教奕奕写几何【数学】

正题 题目链接:https://ac.nowcoder.com/acm/contest/894/A 题目大意 一个大半圆里面放两个小半圆要求两个小半圆的半径之和等于大半圆的半径&#xff0c;而且红色面积为SSS。 求最小的大半圆的半径。 解题思路 假设小半圆的半径为x,yx,yx,y那么大半圆的半径为xyxyxy。那么我…

(三)MySQL入门,看我就够了!!!

课程目标 一、为什么要学习数据库 二、数据库的相关概念 DBMS、DB、SQL三、数据库存储数据的特点 四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★MySQL服务的登录和退出 ★ MySQL的常见命令和语法规范 …

ABP .Net Core Entity Framework迁移使用MySql数据库

一、迁移说明ABP模板项目Entity Framework Core默认使用的是Sql Server&#xff0c;也很容易将数据库迁移到MySQL&#xff0c;步骤如下。二、迁移MySQL步骤1、 下载项目请到 http://aspnetboilerplate.com/Templates 下载一个新的项目&#xff0c;选择ASP.NET Core 2.x标签&…

Spark入门(十一)之排序

一、Sort 计算文本里面的每个单词出现的个数&#xff0c;单词个数逆序&#xff08;相同个数单词正序&#xff09;输出结果。 二、maven设置 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0&quo…

(四)十大经典排序算法(动画图解,代码完全)

排序算法是《数据结构与算法》中最基本的算法之一 1. 冒泡排序 1.1 算法步骤 比较相邻的元素。如果第一个比第二个大&#xff0c;就交换他们两个。 对每一对相邻元素作同样的工作&#xff0c;从开始第一对到结尾的最后一对。这步做完后&#xff0c;最后的元素会是最大的数。…

Spark入门(十二)之最值

一、最值 计算文本里面的最值&#xff08;最大值、最小值、平均值&#xff09;&#xff0c;输出结果。 二、maven设置 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"ht…

jzoj1764-游戏【dp,dfs】

正题 题目大意 一个n∗nn*nn∗n的矩阵中fi,jfi−1,jfi−1,j1f_{i,j}f_{i-1,j}f_{i-1,j1}fi,j​fi−1,j​fi−1,j1​。 但是有格子恒定为0 给出fn,1f_{n,1}fn,1​要求在第一列的数字不超过MaxMaxMax的情况下字典序最小。 求这个字典序。 解题思路 若不考虑坏格子&#xff0c;…

(五)SpringBoot 能挣钱的几个项目!!!

不得不佩服 Spring Boot 的生态如此强大&#xff0c;今天给大家推荐几款 Gitee 上优秀的后台开源版本的管理系统&#xff0c;小伙伴们再也不用从头到尾撸一个项目了&#xff0c;简直就是接私活&#xff0c;挣钱的利器啊。SmartAdmin我们开源一套漂亮的代码和一套整洁的代码规范…

Spark入门(十三)之分组求平均值

一、分组求平均值 计算文本里面的每个key分组求平均值&#xff0c;输出结果。 二、maven设置 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XM…