WinFormium 1.0.109.344
dotnet add package WinFormium --version 1.0.109.344
NuGet\Install-Package WinFormium -Version 1.0.109.344
<PackageReference Include="WinFormium" Version="1.0.109.344" />
paket add WinFormium --version 1.0.109.344
#r "nuget: WinFormium, 1.0.109.344"
// Install WinFormium as a Cake Addin #addin nuget:?package=WinFormium&version=1.0.109.344 // Install WinFormium as a Cake Tool #tool nuget:?package=WinFormium&version=1.0.109.344
WinFormium
Easily buid powerful WinForm applications with HTML, CSS and JavaScript.
About
WinFormium is a open source framework on .NET platform for creating user interface of WinForm Applicaitons using HTML5, CSS3, and JavaScript. It is based on the Xilium.CefGlue project, which is a .NET wrapper around the Chromium Embedded Framework.
If you are looking for a framework for creating a WinForm application with a modern user interface, WinFormium is a good choice. you can use HTML, CSS, and JavaScript to create a user interface, and use C# to write the business logic of the application.
Platform
This is a Windows Only framework, it can not run on Linux or Mac OS.
The minimum supported Windows is Windows 7 Service Pack 1, and some features (such as DirectComposition Offscreen Rendering) are not supported on Windows 7.
Requirements
For Development
- .NET Framework 4.6.2 or higher / .NET 5.0 or higher
- Visual Studio 2019 or heigher (VS2022 is recommended)
For Deployment
- Microsoft Windows 7 Service Pack 1 or higher
- .Net Framework 4.6.2 or higher
- .NET 5.0/6.0 for Windows 7 and above.
- .NET 7.0/8.0 for Windows 10 and above.
Getting Started
Create a WinFormium Application
1. Create a WinForm Application by default template
2. Install WinFormium NuGet Package
Open the NuGet Package Manager to install or use NuGet Package Manager Console, and run the following command to install WinFormium nuget package:
PM> Install-Package WinFormium
Install the dependencies of Chromium Embedded Framework that WinFormium depends on:
PM> Install-Package WinFormium.Runtime
3. A basic WinFormium application requires the following code:
Modify the code in the Program.cs file as follows:
using WinFormium;
class Program
{
[STAThread]
static void Main(string[] args)
{
var builder = WinFormiumApp.CreateBuilder();
builder.UseWinFormiumApp<MyApp>();
var app = builder.Build();
app.Run();
}
}
Create a class implements WinFormiumStartup for configuring the application:
using WinFormium;
class MyAPP : WinFormiumStartup
{
protected override MainWindowCreationAction? UseMainWindow(MainWindowOptions opts)
{
// Configure the main window of this application
return opts.UseMainFormium<MyWindow>();
}
protected override void WinFormiumMain(string[] args)
{
// The codes in Main function should be here, this function only runs in Main process. So it can prevent the codes in Main process running in sub-processes.
ApplicationConfiguration.Initialize();
}
protected override void ConfigurationChromiumEmbedded(ChromiumEnvironmentBuiler cef)
{
// Configure the Chromium Embedded Framework here
}
protected override void ConfigureServices(IServiceCollection services)
{
// Configure the services of this application here
}
}
Create a class implements Formium for configuring the main window of the application:
using WinFormium;
using WinFormium.Forms;
class MyWindow : Formium
{
public MyWindow()
{
Url = "https://www.google.com";
}
protected override FormStyle ConfigureWindowStyle(WindowStyleBuilder builder)
{
// Configure the style of the window here or leave it blank to use the default style
var style = builder.UseSystemForm();
style.TitleBar = false;
style.DefaultAppTitle = "My first WinFomrim app";
return style;
}
}
4. Build and run.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0-windows was computed. net8.0-windows7.0 is compatible. |
.NET Framework | net462 is compatible. net463 was computed. net47 is compatible. net471 is compatible. net472 is compatible. net48 is compatible. net481 is compatible. |
-
.NETFramework 4.6.2
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
-
.NETFramework 4.7
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
-
.NETFramework 4.7.1
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
-
.NETFramework 4.7.2
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
-
.NETFramework 4.8
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
-
.NETFramework 4.8.1
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
-
net6.0-windows7.0
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
-
net7.0-windows7.0
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
-
net8.0-windows7.0
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Logging (>= 8.0.0)
- SharpGen.Runtime (>= 2.0.0-beta.13)
- SharpGen.Runtime.COM (>= 2.0.0-beta.13)
- SkiaSharp (>= 2.88.8)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.4)
- Vanara.PInvoke.DwmApi (>= 4.0.3)
- Vanara.PInvoke.Gdi32 (>= 4.0.3)
- Vanara.PInvoke.SHCore (>= 4.0.3)
- Vanara.PInvoke.User32 (>= 4.0.3)
- Vanara.PInvoke.UxTheme (>= 4.0.3)
- Vortice.Direct2D1 (>= 2.4.2)
- Vortice.Direct3D11 (>= 2.4.2)
- Vortice.DirectComposition (>= 2.4.2)
- Vortice.DXGI (>= 2.4.2)
- Vortice.Mathematics (>= 1.4.26)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.109.344 | 202 | 9/5/2024 |
1.0.109.267 | 183 | 6/20/2024 |
1.0.109.243 | 106 | 5/27/2024 |
1.0.109.218 | 84 | 5/1/2024 |
1.0.109.169 | 131 | 3/13/2024 |