/NanUI

NanUI is an open source .NET project for .NET / .NET Core developers who want to use front-end technologies such as HTML5 / CSS3 to build user interfaces for Windows Form applications.

OtherNOASSERTION

NanUI

[English]

NanUI是一个开放源代码的.NET项目,它适用于希望使用HTML5 / CSS3等前端技术来构建Windows窗体应用用户界面的.NET / .NET Core开发人员。

Formium是NanUI项目的核心,Formium引擎可用于构建.NET / .NET CORE环境下的Windows窗体应用程序,它的底层基于ChromiumFX开源项目。Formium专注于使用HTML5/CSS3/Javascript等Web前端技术来构建桌面应用程序的用户界面,他将为软件界面设计工作带来无限可能。

使用Formium引擎,你可以使用任何你所熟悉的前端技术来搭建用户界面。但强烈建议你使用单页应用(SPA)模式来制作界面,因为这可以给用户带来更好的操作体验。主流的Javascript框架,比如Angular, React, Vue都是可以用来构架SPA应用的明智选择。更多的Formium应用程序实例,请移步Formium-Demos

如果你喜欢NanUI项目,请为NanUI项目点亮一颗星!

如何编译

你需要使用Visual Studio 2019并安装了.NET Framework SDKs和.NET Core 3.1 SDK才能成功编译编译NanUI项目的源码。如果你不需要编译项目源代码,而是直接使用二进制库文件,那么Visual Studio的版本将不会受到限制。如果需要了解更多关于编译项目的信息,请移步到这里.

引用Formium库

稳定版的库文件我会上传到NuGet平台,你可以通过NuGet的包管理器来安装Formium引擎到你的项目中。与之关联的对应版本的CEF和CFX依赖项目也会自动拷贝到项目文件夹中。

备注: NetDimension.Formium.dll最小支持到Microsft .NET Framework 4.0版本

PM> Install-Package NetDimension.Formium

请注意! 与之前发布的NanUI库不同, 新的Formium引擎将不再支持Windows XP系统。

帮助文档

帮助文档将帮助你轻松快速的开始使用Formium引擎进行开发。如果你愿意帮助翻译不同语言的文档,请与我取得联系,感激不敬。

创建一个最简单的应用

初始化Formium的启动环境。

class Program
{
   [STAThread]
   static void Main(string[] args)
   {
      // ...
      Bootstrap
        .Initialize()
        .Run(()=>new MainWindow());
    }
}

使用浏览器承载窗口,例子中将使用一个原生样式的窗口来打开微软必应。

using NetDimension.Formium;

class MainWindow : HostWindow
{
  // Set the startup url of this window
  public override string StartUrl => "https://www.bing.com";

  // Set the style of the host window, here set window to use the native style 
  public override HostWindowType WindowType =>  HostWindowType.Standard;

  // If you need to add a splash screen when the web page is first loaded, return the control instance of the splash screen here
  protected override Control LaunchScreen => null;

  public MainWindow()
  {
      // Set the base title of the window
      Title = "NanUI Application";
  }

  protected override void OnHostWindowReady(IWebBrowserHandler browserClient)
  {
    // Add the processing functions of the CefClient's handlers here, such as DownloadHandler, LifeSpanHandler, DisplayHandler, etc. 

  }

  // Browser's Javascript context initialization is complete
  protected override void OnRegisterGlobalObject(JSObject global)
  {
      // The C# objects can be injected into Javascript Context of this window here

  }

  protected override void OnStandardFormStyle(IStandardHostWindowStyle style)
  {
    // Define the basic style of the standard window here
    style.MinimumSize = new System.Drawing.Size(1024, 640);
    style.Size = new System.Drawing.Size(1280, 720);
    style.Icon = <Icon File>;
  }
}

更多信息请移步 - 开始使用

示例程序

移步Formium Demos来下载并体验更多Formium示例程序。

资助项目

NanUI是一个基于MIT协议的开源项目并且它是完全免费的。尽管如此,如果没有适当的资金支持,项目维护和新功能的开发是无法持续下去的。所以如果你喜欢这个项目并认可我的工作,你可以支付我一杯咖啡的钱请我喝一杯咖啡,或者你也可以成为长期的项目资助人以帮助NanUI变得更好。

使用微信或者支付宝扫描下方二维码来进行资金方面的捐助。

DONATE

海外用户请通过点击下方图标连接到PayPal平台进行捐助。

DONATE

NanUI的发展需要你的支持,谢谢!