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

NanUI是什么

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

开源方式

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

系列文档

源码和包

你可以通过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

赞助作者

如果你喜欢我的工作,并且希望NanUI持续的发展,请对NanUI项目进行捐助以此来鼓励和支持我继续NanUI的开发工作。你可以使用微信或者支付宝来扫描下面的二维码进行捐助。

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

时间: 2024-10-06 14:49:50

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

html+css+js整体布局——[防止浏览器扩大,界面排版混乱]

1,body-->width:100% body { background-color: rgb(238, 238, 238); color: rgb(51, 51, 51); display: block; font-family: Helvetica, "Hiragino Sans GB", "Microsoft Yahei", sans-serif; font-size: 14px; height: 11229.7px; line-height: 16.

【高德LBS开源组件大赛】公众号地图工具

应用的名称 公众号地图工具 应用说明及使用场景 现在越来越多的商户都有自己的实体店,比如连锁超市(家乐福,沃尔玛),连锁餐饮(KFC,麦当劳),连锁酒店(7天,汉庭,全季,如家),菜鸟物流(原天猫服务站),银行等.而开发一张连锁店地图,对于毫不懂技术的人们来说,是十分困难的事情.本工具就提供了一个,即使不懂代码,也能制作出一张有趣可爱又实用的连锁店地图.并且,可以自动定位并检索周边的POI点.本工具非常适用于,微博.微信.支付宝服务窗等手机上的地图显示. 应用所使用的技术及软件 HTML CSS

大量的文档,大量的示例代码,大量的开源组件,大量的社区,大量的码农

移动用各个平台的原生工具和代码,当年被Delphi忽悠,入了贼船,这次搞移动,坚定了跟着厂家走的策略.每次更新不用傻等Delphi跟进,大量的文档可以参考,大量的示例代码可以直接copy,大量的开源组件可以拿来就用,大量的社区可以做到有问必答. 如果有一天真的做大了,还有大量的iOS/Java码农可以招聘,组队团PK. 总之是选路要选对啊.这两年如果不是EMB出现救市,Delphi差点成了绝唱.想想都后怕.移动开发不敢在冒险了. 参考:http://bbs.2ccc.com/topic.asp?

开源组件整理

ZedGraph  一个图表组件,可定制绘图控件,饼图.柱图.曲线图.多边形图,图示,图例,自定义配置坐标系属性 log4Net基于.net开发的一款非常著名的记录日志开源组件. ajax.dllweb开发中常用的一个dll,使用比较便捷 ObjectListView是一个C# 对.NET中的ListView 组件进行改进和增强的新组件,支持自动排序.分组显示.单元格编辑.数据绑定和列大小调整等功能,提供也提供了一个基于 wxPython 的Python版本. 件很多如 ComponentOne

分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。

http://www.cnblogs.com/asxinyu/p/dotnet_opensource_project_WinForm.html 分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm... 前面3个月的时间内,这些.NET开源项目你知道吗?系列文章已经发表了3篇,共计45个平时接触比较少,曾经默默无闻的.NET开源项目,展示给大家,当然不是每个人都能用得上,但也的确是有些人用了,反响还不错,所以非常感谢大家的支持.由于收藏夹的项目越来越少,越整理到最后,越发现一些

25-网易新闻iOS版使用的开源组件

网易新闻iOS版使用的开源组件 2015-05-20 ios博文精选 网易新闻iOS版在开发过程中曾经使用过的第三方开源类库.组件 1.AFNetworkingAFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest 2.Apple Reachability网络监测,可以参考下这篇文章iOS网络监测如何区分2.3.4G? 3.DOUAudioS

Infer.net 开源组件: 1, 机器学习入门,要从贝叶斯说起

我的入门方式,先从应用现象中,总结规律反推本质.一头扎进理论书籍是不对的. 老外的先进,还是体现在传承方面.没办法,我们竞争压力大,有好东西藏着掖着.大家都苦逼 我最开始是从介绍,有了基本概念,见xxx.知道十大算法,可以开工了. 开源组件入手的,infer.net 例子很经典,讲解细,这也是老外程序员成才快的原因.之前看libusb也是如此,程序员英语不好路是走不远的,我深有体会. 下面简介下基本概念,我是喜欢预测方面所以对机器分类学习感兴趣. 因为人不必要求计算机像人一样.视觉,听觉不是最终

使用Jayrock开源组件创建参数可为空的接口

经过上一篇文章对Jayrock开源组件的分析,我发现了一个问题,就是在写接口的时候,可以设置某个参数为空,可以不需要进行参数的传递,具体写法如下: 图上的test参数就是可空类型,只需标识为int?类型即可.测试结果如下: 使用非常的简单,也验证了我上一篇文章的错误观点,在此说明一下.

Android自定义控件——开源组件SlidingMenu的项目集成

转载请注明出处:http://blog.csdn.net/allen315410/article/details/39611355  在实际项目开发中,定制一个菜单,能让用户得到更好的用户体验,诚然菜单的样式各种各样,但是有一种菜单--滑动菜单,是被众多应用广泛使用的.关于这种滑动菜单的实现,我在前面的博文中也介绍了如何自定义去实现,请参考Android自定义控件--侧滑菜单,这篇博文描述的是如何从无到有创建一个侧滑菜单的控件,里面的代码不多,但是处理的逻辑和各种效果比较复杂,如果稍有不慎,这种