目录

一、简介

二、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支持跨平台运行的更多相关文章

  1. Windows Forms框架编程

    <Windows Forms框架编程>节选   第九章 设计模式与原则 软件设计模式(Design pattern)是一套被反复使用的代码设计经验总结.使用设计模式是为了可重用代码.让代码 ...

  2. Windows Forms和WPF在Net Core 3.0框架下并不会支持跨平台

    Windows Forms和WPF在Net Core 3.0框架下并不会支持跨平台 微软将WinForms和WPF带到.NET Core 3.0这一事实,相信大家都有所了解,这是否意味着它在Linux ...

  3. 任务驱动,对比式学习.NET开发系列之开篇------开源2个小框架(一个Winform框架,一个Web框架)

    一 源码位置 1. Winform框架 2. web框架 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分人学习软件开发技术是通过看书,看视频,听老师上课的方式.这些方式有一个共同点即按知 ...

  4. [翻译].NET Core 3 Preview1和Windows桌面框架开源

    原文来自TechViews 今天,我们宣布推出.NET Core 3 Preview 1.这是.NET Core 3的第一个公开发布.我们有一些令人兴奋的新功能可供分享,并希望得到您的反馈.您可以使用 ...

  5. 分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。

    前面3个月的时间内,这些.NET开源项目你知道吗?系列文章已经发表了3篇,共计45个平时接触比较少,曾经默默无闻的.NET开源项目,展示给大家,当然不是每个人都能用得上,但也的确是有些人用了,反响还不 ...

  6. Windows 下的高 DPI 应用开发(UWP / WPF / Windows Forms / Win32)

    本文将介绍 Windows 系统中高 DPI 开发的基础知识.由于涉及到坐标转换,这种转换经常发生在计算的不知不觉中:所以无论你使用哪种 Windows 下的 UI 框架进行开发,你都需要了解这些内容 ...

  7. 分析现有 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 ...

  8. 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0

    本文转自 https://blog.csdn.net/WPwalter/article/details/82859449 使用 .NET Core 3.0 Desktop API Analyzer 分 ...

  9. 【Winform】 无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”。

    问题:将dotnet framework 4.0 切换到2.0时,编译没有问题,在运行时出现如下错误:System.InvalidCastException: 无法将类型为“System.Window ...

  10. 开源自己用python封装的一个Windows GUI(UI Automation)自动化工具,支持MFC,Windows Forms,WPF,Metro,Qt

    首先,大家可以看下这个链接 Windows GUI自动化测试技术的比较和展望 . 这篇文章介绍了Windows中GUI自动化的三种技术:Windows API, MSAA - Microsoft Ac ...

随机推荐

  1. ls的输出格式

    在Linux中,如果在一个目录下面执行ls -al命令,输出格式如下: ls -al总共输出7列,下面对每一列进行说明. 第一列表示这个文件的权限与类型,它总共有10位,每个位的作用如下图所示: 其中 ...

  2. 用【Makefile】或【Cmake】编译【C/Fortran】程序文件

    一.vimrc文件设置 set tabstop=4 "tab空格4 set expandtab "将tab扩展成空格 set softtabstop=4 "表示在编辑模式 ...

  3. 使用 TortoiseGit 时,报 Access denied 错误

    当输入正确的密码时,总是报如下错误: 解决方法: 然后弹出如下对话框: 然后编辑本地配置文件: 然后将红色框的SSH配置改为绿色框的 HTTP配置,点击保存,确定. 然后再进行拉取源码,先输入用户名, ...

  4. 详解Spring循环依赖

    一. 什么是循环依赖 循环依赖,就是两个或则两个以上的bean互相依赖对方,最终形成闭环.比如"A对象依赖B对象,而B对象也依赖A对象",或者"A对象依赖B对象,B对象依 ...

  5. 鸿蒙HarmonyOS实战-Web组件(页面跳转和浏览记录)

    前言 页面跳转是指在浏览器中从当前页面跳转到另一个页面的操作.可以通过点击链接.输入网址.提交表单等方式实现页面跳转. 浏览记录是指记录用户在浏览器中浏览过的页面的历史记录.当用户跳转到一个新页面时, ...

  6. java中判断String类型为空和null的方法

    1.判断一个String类型的变量是否为空(即长度为0)或者为null 在Java中,判断一个String类型的变量是否为空(即长度为0)或者为null,通常需要使用两个条件语句来进行检查.这是因为n ...

  7. IDEA顺序启动多个Spring Boot微服务

    上个月公司新开发的一个项目,需要使用微服务,将单体服务拆分成多个微服务.但是每次修改代码之后都需要启动多个微服务,改个代码,都要修改五分钟,启动半小时,但是idea可以设置将多个服务依次启动,减少操作 ...

  8. Vue简单自定义Canvas验证码组件。

    在您的Vue项目中,是否曾遇到过需要增加验证码来增强账户安全性的情况?这个Vue通用Canvas验证码组件!采用Canvas,实现了高度自定义和灵活的验证码生成方式,让您的网站或应用轻松应对各类验证码 ...

  9. 用C++ Qt实现类似Photoshop的钢笔工具

    因为工作上的需求,需要实现一个类似Photoshop里面的钢笔工具, 分析一下它的功能,包括: 1. 有两种点:节点和控制点,节点是构成图形的基本端点,控制点是影响贝塞尔曲线的系数. 2. 创建节点: ...

  10. gRPC入门学习之旅(十)

    gRPC入门学习之旅目录 gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) gRPC入门学习之旅(四) gRPC入门学习之旅(七)  gRPC入门学习之旅(九) 3. ...