Winform也可以跨平台运行linux和Mac,来看看实现方案:
- 必须基于.net 6 +以上平台开发的Winform。
- 采用GTK重写所有的Winform控件和Form
- 重新编译成跨平台文件即可实现
开源地址:https://gitee.com/easywebfactory/gtksystem-windows-forms
GTKSystem.Windows.Forms
C#桌面应用程序跨平台(windows、linux、macos)界面开发组件,基于GTK组件开发,该组件的核心优势是使用C#的原生winform表单控件窗体设计器,相同的属性方法,C#原生开发即可,无需学习。一次编译,跨平台运行。
使用教程:
- 把项目工程改为配置
UseWindowsForms
为false
或“控制台应用程序”,框架.net6
或以上版本 - NuGet安装
GtkSharp(3.24.24.95)
、GTKSystem.Windows.Forms
,或引用GTKSystem.Windows.Forms.dll
- 检查form表单是否有使用图像资源,如使用需新建
System.Resources.ResourceManager
和System.ComponentModel.ComponentResourceManager
,具体请看下面内容。 - 按默认配置编译发布测试运行,不同内核需要选择不同内核的生成
linux
和macos
上执行命令:dotnet demo_app.dll