GTKSystem.Windows.Forms 1.3.24.66

dotnet add package GTKSystem.Windows.Forms --version 1.3.24.66
                    
NuGet\Install-Package GTKSystem.Windows.Forms -Version 1.3.24.66
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GTKSystem.Windows.Forms" Version="1.3.24.66" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GTKSystem.Windows.Forms" Version="1.3.24.66" />
                    
Directory.Packages.props
<PackageReference Include="GTKSystem.Windows.Forms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GTKSystem.Windows.Forms --version 1.3.24.66
                    
#r "nuget: GTKSystem.Windows.Forms, 1.3.24.66"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=GTKSystem.Windows.Forms&version=1.3.24.66
                    
Install GTKSystem.Windows.Forms as a Cake Addin
#tool nuget:?package=GTKSystem.Windows.Forms&version=1.3.24.66
                    
Install GTKSystem.Windows.Forms as a Cake Tool

GTKSystem.Windows.Forms

介绍

Visual Studio原生开发,无需学习,一次编译,跨平台运行. C#桌面应用程序跨平台(windows、linux、macos)开发框架,基于GTK组件开发,使用该框架开发项目,Visual studio可以使用C#的原生winform表单窗体设计器,相同的属性、方法、事件,C#原生开发即可,无需学习。一次编译,跨平台运行。 便于开发跨平台winform软件,便于将C# winform软件升级为跨平台软件。

项目官网:https://www.gtkapp.com

软件架构

使用DotNet Csharp为开发语言,使用GTK3.24.24.95作为表单UI,重写C#的System.Windows.Forms组件,在应用时,兼容原生C#程序组件。

安装教程

默认的情况下,visual studio从Nuget引用GtkSharp编译时,就会自动下载Gtk.zip运行时安装包,并自动解压安装。本开源项目下载包也包含Gtk.zip包,可手动安装。以下是三种环境安装方法:

1、安装GtkSharp后,编译你的工程项目,自动安装(自动下载的库版本比较旧,有bug,建议手动从本项目下载) 安装GtkSharp后,编译你的工程项目时,会自动下载gtk.zip解压到目录$(LOCALAPPDATA)\Gtk\3.24.24配置Gtk环境,目前国内网络限制,可能会出现无法下载的错误。 如果无法自动下载,本项目提供下载 https://gitee.com/easywebfactory/GTK-for-Windows/tree/master/Dependencies。 也可以下载https://github.com/GtkSharp/Dependencies,把文件解压后放到$(LOCALAPPDATA)\Gtk\3.24.24目录即可。 ps: $(LOCALAPPDATA)为电脑的AppData\Local文件夹,如:C:\Users\chj\AppData\Local\Gtk\3.24.24

2、下载exe安装包安装 本项目提供下载 https://gitee.com/easywebfactory/GTK-for-Windows/tree/master/Dependencies。 方法1在国内可能会有网络障碍,并且是比较旧的运行时库,可能有Bug,建议用此方法获取最新版本安装:下载https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer,安装后配置电脑变量环境:

你可以打开电脑属性配置,或者执行以下.bat命令:
@set GTK3R_PREFIX=C:\Program Files\GTK3-Runtime Win64
@echo set PATH=%GTK3R_PREFIX%;%%PATH%%
@set PATH=%GTK3R_PREFIX%;%PATH%

3、使用MSYS软件平台安装,具体操作请网上查询

windows安装DotNet环境:

  从微软官网下载安装包https://dotnet.microsoft.com/zh-cn/download

桌面版linux操作系统通常已经预装GTK环境,不需要再安装GTK,只需安装DotNet SDK即可运行本框架。

对于没有安装GTK环境的linux系统,可用以下命令安装:

#Debian/Ubuntu环境
    sudo apt install libgtk-3-0  //Binary package
    sudo apt install libgtk-3-dev //开发环境 package
#Arch环境
    sudo apt install gtk3
#Fedora	环境
    sudo apt install gtk3    //Binary package
    sudo apt install gtk3-devel  //开发环境 package

*或指定库名安装
    sudo apt-get install libgtk3*

#从MSYS2安装:
    pacman -S mingw-w64-ucrt-x86_64-gtk3

*检查环境情况(需要安装pkg-config):
    pkg-config --cflags --libs gtk+-3.0
*查找gtk的安装包目录:
    ldconfig -p | grep gtk

linux安装DotNet环境:

  安装方法可以查看微软官网教程:https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-scripted-manual

开发教程

  1. 项目工程框架选择“window应用程序”改配置UseWindowsForms为false或“控制台应用程序”,.net6及以上版本
  2. NulGet安装GtkSharp(3.24.24.95)、GTKSystem.Windows.Forms、GTKSystem.Windows.FormsDesigner
  3. 检查form表单是否有使用图像资源,如使用需新建System.Resources.ResourceManager和System.ComponentModel.ComponentResourceManager,具体请看下面内容。
  4. 安装本下载包里的【VisualStudio开发插件】,用于添加窗体创建模板。

如何运行软件

  1. windows下:直接编译发布运行,Debug目录的demo_app.exe文件或demo_app.dll文件都可以直接运行。
  2. linux和macos上:执行命令运行dotnet demo_app.dll。
  3. 使用本框架的工程项目也可以在linux系统上编译发布,可以生成linux系统专用文件(无后缀名的文件),此文件可以直接双击启动应用

VisualStudio插件安装

工具一、从NuGet上安装GTKSystem.Windows.FormsDesigner类库,此类库可以在编译工程时修正窗体设计器。

工具二、下载本插件工具,关闭visual studio,直接双击GTKWinformVSIXProject.vsix文件安装(本框架下的工程,Studio没有添加Form模板项,需要安装此插件)

插件会安装两个功能:

1、新建项的Form窗体模板、用户控件模板。

2、工程右键菜单。

输入图片说明

开发教程及说明

以下配置在你的项目工程里操作:

1、新建System.Resources.ResourceManager类<br/> 在项目下新建System.Resources.ResourceManager类,继承GTKSystem.Resources.ResourceManager,用于覆盖原生System.Resources.ResourceManager类。 GTKSystem.Resources.ResourceManager实现了项目资源文件和图像文件读取。 如果项目里没有使用资源图像文件,可以不用新建此文件。

2、新建System.ComponentModel.ComponentResourceManager类<br/> 在项目下新建System.ComponentModel.ComponentResourceManager类,继承GTKSystem.ComponentModel.ComponentResourceManager,用于覆盖原生System.ComponentModel.ComponentResourceManager类。<br/> GTKSystem.ComponentModel.ComponentResourceManager实现了项目资源文件和图像文件读取(调用GTKSystem.Resources.ResourceManager)。 如果项目里没有使用资源图像文件,可以不用新建此文件。

3、GTKWinFormsApp.csproj<br/> 配置UseWindowsForms为false,目标OS设置为“(空)”,或者使用控制台应用程序(在控制台框架下会显示控制台窗口,不建议这种方式)

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <UseWindowsForms>false</UseWindowsForms>

4、引用GTKSystem.Windows.Forms、System.Resources.Extensions <br/> GTKSystem.Windows.Forms是必须引用<br/> System.Resources.Extensions是空程序dll,不是必须引用,只有VS在窗体设计器出现相关异常提示时使用

5、从NuGet安装GTKSystem.Windows.FormsDesigner,用于开启窗体设计器。<br/> 使用窗体设计器有几种方法,详细的使用教程可以访问https://www.gtkapp.com/formsdesigner

Resources资源的使用

支持GTKSystem,获取技术服务

企业服务:https://www.gtkapp.com/vipservice

支持GTKSystem 联系GTKSystem

交流/合作/商务/赞助

QQ群:236066073(满),1011147488 邮箱:438865652@qq.com <br/>

默认风格效果

demo效果

默认风格工具栏菜单

工具栏菜单

图文窗口

图文窗口

支持各种主题风格界面(windows xp、vista、7、8、10,macOS系列,等等)

主题风格,window10黑色风格界面

mwindow10黑色风格界面

主题风格,macOS风格界面

macOS风格界面

常见问题

为什么Form窗体设计器打不开?<br/>

答:从NuGet安装GTKSystem.Windows.FormsDesigner,编译工程,检查obj目录下包含GTKWinFormsApp.designer.runtimeconfig.json和GTKWinFormsApp.runtimeconfig.json,然后按以下流程操作:
  1、编译一下 
  2、打开Form窗体
  (如果不能打开窗体,执行下面流程) 
  3、关闭Form窗体,编译一下 
  4、重启Visual Studio 
  5、打开Form窗体设计器 

参与贡献

  1. https://gitee.com/easywebfactory
  2. https://github.com/easywebfactory
  3. https://blog.csdn.net/auto_toyota

更新记录

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on GTKSystem.Windows.Forms:

Package Downloads
Net4x.InputBoxLibrary.GtkWinForms

InputBoxLibrary WinForms

Net4x.GtkWindowsFormsLibrary

Windows Library

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on GTKSystem.Windows.Forms:

Repository Stars
easywebfactory/gtksystem-windows-forms
C # desktop application cross platform (Windows, Linux, macOS) development framework, based on GTK components. Using this framework to develop projects, Visual Studio can use C #'s native Winform form designer. The same properties, methods, and events can be developed in C # without learning. One compilation, cross platform operation.
Version Downloads Last updated
1.3.24.66 182 5/5/2025
1.3.24.65 126 4/19/2025
1.3.24.64 315 3/10/2025
1.3.24.63 190 3/9/2025
1.3.24.62 292 2/27/2025
1.3.24.61 105 2/26/2025
1.3.24.60 163 2/10/2025
1.3.24.59 127 2/5/2025
1.3.24.58 360 1/2/2025
1.3.24.57 157 12/28/2024
1.3.24.56 174 12/13/2024
1.3.24.55 134 11/26/2024
1.3.24.54 294 11/14/2024
1.3.24.53 156 11/6/2024
1.3.24.52 151 10/24/2024
1.3.24.51 107 10/23/2024
1.3.24.50 152 10/19/2024
1.3.24.49 145 9/27/2024
1.3.24.48 133 9/22/2024
1.3.24.47 217 8/27/2024
1.3.24.46 329 8/26/2024
1.3.24.45 300 7/16/2024
1.3.24.44 123 7/15/2024
1.3.24.43 118 7/12/2024
1.3.24.42 149 7/8/2024
1.3.24.41 207 7/7/2024
1.3.24.40 130 7/2/2024
1.3.24.39 147 6/27/2024
1.3.24.38 169 6/22/2024
1.3.24.37 121 6/22/2024
1.3.24.36 133 6/20/2024
1.3.24.35 121 6/20/2024
1.3.24.34 126 6/18/2024
1.3.24.33 125 6/11/2024
1.3.24.32 122 6/9/2024
1.3.24.31 146 5/30/2024
1.3.24.30 112 5/27/2024
1.3.24.29 122 5/22/2024
1.3.24.28 129 5/21/2024
1.3.24.27 112 5/20/2024
1.3.24.26 123 5/16/2024
1.3.24.25 110 5/16/2024
1.3.24.24 129 5/15/2024
1.3.24.23 135 5/10/2024
1.3.24.22 142 5/6/2024
1.3.24.21 120 5/6/2024
1.3.24.20 115 5/5/2024
1.3.24.14 156 4/20/2024
1.3.24.13 118 4/19/2024
1.3.24.12 144 3/28/2024
1.3.24.11 371 3/19/2024
1.3.24.10 129 3/6/2024
1.3.24.9 173 3/2/2024
1.3.24.8 119 2/29/2024
1.3.24.7 131 2/22/2024
1.3.24.6 166 2/20/2024
1.3.24.5 117 2/18/2024
1.3.24.4 130 2/8/2024
1.3.24.3 125 2/5/2024
1.3.24.2 123 2/5/2024
1.3.24.1 121 2/5/2024
1.0.0.3 129 2/8/2024
1.0.0.2 142 2/8/2024
1.0.0.1 176 2/5/2024

C#界面跨平台开发组件GTKSystem.Windows.Forms