开源组件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窗体应用。
获取源码
Nuget包管理器
常规版本(CEF 3.2987.1601.gf035232 / Chromium 57.0.2987.133)
WindowXP版本(CEF 3.2526.1366.g8617e7c / Chromium 47.0.2526.80)
推荐使用Nuget包管理器安装NanUI程序集将自动安装对应的CEF依赖项,一键安装方便使用。
如何编译源码和示例
编译当前版本的NanUI需要支持C#7.0语法的编译器,推荐的编译工具有且只有Visual Studio 2017。
如何使用
初始化NanUI
使用原生的窗口样式来使用NanUI
使用无边框模式来使用NanUI
请注意:如果使用Visual Studio 2015或者更低的版本开发和调试NanUI应用程序,需要在项目属性的调试选项卡中关闭“启用VS承载进程”选项,否则调试时将出现页面不加载白屏的情况。如图所示:
社群和帮助
GitHub
https://github.com/NetDimension/NanUI/
原文地址:https://www.cnblogs.com/linxuanchen/p/NanUI-Introduction.html
- Android中的AutoCompleteTextView的使用
- 深度学习以及卷积基础
- Android 控件:使用下拉列表框--Spinner
- 层层升入:SQL极限调优之一次更新操作的N种优化可能
- 零基础学编程037:小数据分析
- 【干货】圣诞老人是否真实存在?训练Tensorflow的对象检测API能够告诉你答案
- 排序含有数字的字符串:一个巧妙地方法
- wpf 控件大小随窗体大小改变而改变
- 零基础学编程036:快速编写一个GUI程序
- WPF TreeView 选择事件执行两次,获取TreeView的父节点的解决方法
- 零基础学编程041:欧拉公式的几何意义
- 零基础学编程040:在Windows上安装Python库的正确姿势
- c++/c 获取cpp文件行号跟文件名
- 零基础学编程042:画函数图像
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- iTerm2安装和配置
- 最新最全的mutect2教程
- Flutter基础widgets教程-CupertinoAlertDialog篇
- Spring的Controller是单例还是多例?怎么保证并发的安全
- 用TypeScript装饰器实现一个简单的依赖注入
- PING问题解决方法_20190305
- 前端需要掌握的设计模式
- @vue/composition-api速成课(通俗易懂版)
- 新1期视频第14课und异常中断模式的bug以及对应的解决方法
- 第一课:linux设备树的引入与体验(基于linux4.19内核版本)
- 第二课:linux设备树的规范(dts和dtb)
- 二叉树剪枝了解一下~
- 第三课:linux内核对设备树的处理
- 第四课:u-boot对设备树的支持
- 第五课. 内核中断系统中的设备树