开源GTKSystem.Windows.Forms框架让C# winform支持跨平台运行
目录
一、简介
二、GTKSystem.Windows.Forms框架的优势
三、支持界面皮肤主题定制
四、多种控件支持
五、支持Dock、Anchor、SplitContainer布局缩放
六、支持扩展控件
一、简介
微软原生的.net winform只支持在windows平台下运行,只中一个原因是windows用的视窗是GDI+绘制的,主要原因是微软不想支持linux或macos平台。VC.Net winform软件是windows系统软件环境和开发环境最大的优势之一,是微软占据电脑主流系统的利器!
GTKSystem.Windows.Forms框架是C# winform应用程序跨平台(windows、linux、macos)界面开发框架,基于GTK组件开发,该框架的核心优势是兼容C#的原生winform表单控件窗体控件,相同的属性、方法、事件,C#原生开发即可,无需学习。
一次编译,跨平台运行。 便于开发跨平台winform软件,便于将C#升级为跨平台软件。
二、GTKSystem.Windows.Forms框架的优势
使用GTKSystem.Windows.Forms框架开发winform软件至少有8大优势:
1、框架开源,可以自由定制程序。
gitee:https://gitee.com/easywebfactory/gtksystem-windows-forms
github:https://github.com/easywebfactory/gtksystem-windows-forms
2、完全支持visual studio工具开发,支持可视化窗体设计器设计form界面。
3、与c#原生控件相兼容,相同的方法、属性、事件,软件工程可以直接原生开发,可以在原生与GTKSystem.Windows.Forms框架相互切换。
4、微软官方支持.net控制台程序在linux上运行,本框架使用.net控制台,完美运行。
5、GTK官方支持微软windows平台,可以在windows系列版本系统上运行。
6、视窗图形框架使用GTK,同时支持windows、linux、macos平台,GTK具有优秀稳定的性能,几乎所有主流linux的可视化操作视窗都是基于GTK开发,包括ubuntu、debian、kylin、deepin等主流系统,国产操作系统如统信、麒麟、深度、红旗等,GTK与linux可以无缝支持。
7、支持linux的主题界面样式,与linux操作系统融为一体,同时支持自定义界面样式。
8、支持macos,gtk或.net sdk都官方支持macos,让GTKSystem.Windows.Forms框架可以在macos完美运行。

三、支持界面皮肤主题定制,如:

四、多种控件支持

五、支持Dock、Anchor、SplitContainer布局缩放

六、支持扩展控件
可以自由扩展控件,将提供多功能的报表数据表格、折叠面板、属性网格、折叠卡片、步骤条、开关控件等常见控件。
你想让软件同时在windows下运行、在linux上运行、在苹果电脑上运行、在国产操作系统上运行吗? 那么选择GTKSystem.Windows.Forms框架!甚至,当你不想用GTKSystem.Windows.Forms框架时,直接切换回.net框架,你的软件也可以直接编译发布。
开源GTKSystem.Windows.Forms框架让C# winform支持跨平台运行的更多相关文章
- Windows Forms框架编程
<Windows Forms框架编程>节选 第九章 设计模式与原则 软件设计模式(Design pattern)是一套被反复使用的代码设计经验总结.使用设计模式是为了可重用代码.让代码 ...
- Windows Forms和WPF在Net Core 3.0框架下并不会支持跨平台
Windows Forms和WPF在Net Core 3.0框架下并不会支持跨平台 微软将WinForms和WPF带到.NET Core 3.0这一事实,相信大家都有所了解,这是否意味着它在Linux ...
- 任务驱动,对比式学习.NET开发系列之开篇------开源2个小框架(一个Winform框架,一个Web框架)
一 源码位置 1. Winform框架 2. web框架 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分人学习软件开发技术是通过看书,看视频,听老师上课的方式.这些方式有一个共同点即按知 ...
- [翻译].NET Core 3 Preview1和Windows桌面框架开源
原文来自TechViews 今天,我们宣布推出.NET Core 3 Preview 1.这是.NET Core 3的第一个公开发布.我们有一些令人兴奋的新功能可供分享,并希望得到您的反馈.您可以使用 ...
- 分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。
前面3个月的时间内,这些.NET开源项目你知道吗?系列文章已经发表了3篇,共计45个平时接触比较少,曾经默默无闻的.NET开源项目,展示给大家,当然不是每个人都能用得上,但也的确是有些人用了,反响还不 ...
- Windows 下的高 DPI 应用开发(UWP / WPF / Windows Forms / Win32)
本文将介绍 Windows 系统中高 DPI 开发的基础知识.由于涉及到坐标转换,这种转换经常发生在计算的不知不觉中:所以无论你使用哪种 Windows 下的 UI 框架进行开发,你都需要了解这些内容 ...
- 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )
今年五月的 Build 大会上,微软说 .NET Core 3.0 将带来 WPF / Windows Forms 这些桌面应用的支持.当然,是通过 Windows 兼容包(Windows Compa ...
- 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0
本文转自 https://blog.csdn.net/WPwalter/article/details/82859449 使用 .NET Core 3.0 Desktop API Analyzer 分 ...
- 【Winform】 无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”。
问题:将dotnet framework 4.0 切换到2.0时,编译没有问题,在运行时出现如下错误:System.InvalidCastException: 无法将类型为“System.Window ...
- 开源自己用python封装的一个Windows GUI(UI Automation)自动化工具,支持MFC,Windows Forms,WPF,Metro,Qt
首先,大家可以看下这个链接 Windows GUI自动化测试技术的比较和展望 . 这篇文章介绍了Windows中GUI自动化的三种技术:Windows API, MSAA - Microsoft Ac ...
随机推荐
- ansible系列(20)--ansible的变量详解
目录 1. Ansible Variables 1.1 变量定义的方式 1.2 在playbook中定义变量 1.2.1 使用vars方式定义变量 1.2.2 使用vars_file方式定义变量 1. ...
- JavaScript中对数组.map()、some()、every()、filter()、forEach的区别
1.区别说明 共同点: 不会对原数组发生修改,而是返回新的变量,用变量接收. 不同点: 1.some():返回一个Boolean类型变量,判断是否有元素符合func条件 2.every():返回一个B ...
- Spring6 的JdbcTemplate的JDBC模板类的详细使用说明
1. Spring6 的JdbcTemplate的JDBC模板类的详细使用说明 @ 目录 1. Spring6 的JdbcTemplate的JDBC模板类的详细使用说明 每博一文案 2. 环境准备 3 ...
- angular响应式表单笔记
angular 在开发过程中对于表单的验证 import {ReactiveFormsModule, FormsModule, FormControl, FormGroup, Validators} ...
- mini-centos7 环境安装部署,各种踩坑。。。
最小Linux系统,安装Java环境 想想就生气,去面试个运维,面试官让我上机装个centos7,还是个最小安装包连界面都没有,只有命令行模式,我都哭了,然后让把一些环境装一下,然后再部署个sprin ...
- [USACO10OCT] Lake Counting S
传送锚点:https://www.luogu.com.cn/problem/P1596 由于近期的降雨,雨水汇集在农民约翰的田地不同的地方.我们用一个 \(N\times M(1\leq N\leq ...
- 5分钟明白LangChain 的输出解析器和链
本文介绍 LangChain 的输出解析器OutputParser的使用,和基于LangChain的LCEL构建链. 1. 输出解析器OutputParser 1.1.为什么需要OutputParse ...
- Inno Setup Dependency Installer 安装包 运行环境安装
Download and install any dependency such as .NET, Visual C++ or SQL Server during your application's ...
- Kubernetes操作图
- 记一次 .NET某工业设计软件 崩溃分析
一:背景 1. 讲故事 前些天有位朋友找到我,说他的软件在客户那边不知道什么原因崩掉了,从windows事件日志看崩溃在 clr 里,让我能否帮忙定位下,dump 也抓到了,既然dump有了,接下来就 ...