百科问答小站 logo
百科问答小站 font logo



用c#开发桌面应用,如何做出漂亮的界面? 第1页

  

user avatar   zhang-xiang-yang-19-59 网友的相关建议: 
      

仔细看了一下问题,winform太丑了!之前我也是这么认为,直到我看了这5款winform UI框架!

1.MaterialSkin

将.NET WinForms,C#或VB.Net主题化为Google的Material Design。

github.com/IgnaceMaes/M

2.EASkins

.NET WinForm 和 WPF 的UI界面库,收集整合多个优秀库及示例。个人整理级别的开源项目,可以参考学习一下!

没有文档,初学有点不太理解!

gitee.com/airscrat/EASk

3.HZHControls

c#winform自定义控件,对触屏具有更好的操作支持,项目是基于framework4.0,完全原生控件开发,没有使用任何第三方控件,你可以放心的用在你的项目中。

gitee.com/kwwwvagaa/net

4.SunnyUI

SunnyUI.Net是基于 C# 和 .Net WinForm 的开源控件库、工具类库、扩展类库、多页面开发框架。

基于 framework4.0,原生控件开发,参考 Element、DotNetBar 主题风格,包含 Button、Panel、TextBox、CheckBox、RadioButton、TabControl、NavBar、DataGridView在内的常用控件超过 40 个,满足常规开发需求,每个控件都精雕细琢,注重细节。

gitee.com/yhuse/SunnyUI

5.NanUI

NanUI 界面组件是一个开放源代码的 .NET / .NET Core 窗体应用程序(WinForms)界面组件。她适用于希望使用 HTML5/CSS3 等前端技术来构建 Windows 窗体应用程序用户界面的 .NET/.NET Core 开发人员。

同时,WinFormium 特有的 JavaScript Bridge 可以方便简洁地实现浏览器端与 .NET 之间的通信和数据交换。

使用 NanUI 界面框架将为传统的 WinForm 应用程序的用户界面设计和开发工作带来无限种可能!

gitee.com/linxuanchen/N

ScottPlot

ScottPlot 是一个 .NET 图表组件, 主要有以下特点:

适用范围广:同时适用于 WinForms, WPF, Avalonia, Console, 支持 .NET Framework 4.6.1 及以上, NET Core 2.0 至 .NET 5。

上手简单:只需几行代码即可创建折线图、条形图、饼图、散点图等。

性能强悍:千万级数据处理无压力, 媲美 Python Matplotlib。

可交互:支持用户和图表数据进行交互, 注入灵魂。

开源免费:基于MIT开源协议, 已经开源近5年, 不存在版权和收费问题

组件丰富:图表组件非常全面,可满足各种场景下的展示需求。

图表接入 Winform 1.通过Nuget安装 ScottPlot.WinForms。2.安装完成后, 就可以在工具箱找到 ScottPlot 组件, 然后拖到 Winform 窗体上。3.填充图表数据, 完成! double[] dataX = new double[] {1, 2, 3, 4, 5};

WPF 1.通过Nuget安装 ScottPlot.WPF2.添加一个 WpfPlot 组件到布局中, 并设置Name <WpfPlot Name="WpfPlot1" /> 3.同样, 填充图表数据, 完成! double[] dataX = new double[] { 1, 2, 3, 4, 5 };

Console App 当然也可以在控制台应用中使用该图表组件, 和上面不同的是, 它会渲染成一张图片, 然后可以保存到本地 1.通过Nuget安装 ScottPlot2.填充图表数据并保存为图片

图表示例



项目背后的故事 wow, 很优秀的开源项目, 但其实我还想分享一些项目背后的故事, 因为这非常有意义! ScottPlot 图表库 的作者是 Scott W Harden, 他是一名生物研究科学家, 目前在神经科学实验室工作, 他的主要专业是分子生物学、牙科和神经科学, 但是也对计算机编程和电气工程充满热情, 所以偶尔会编写代码来完成与科学研究相关的任务。

像很多科学家一样, Scott 也使用 Python 流行的的 matplotlib 处理数据, 但是发现在给一些不太懂计算机的用户安装软件时, 总会出现一些环境问题, 配置问题等等, 所以他在2017年做了个决定, 学习.NET 技术栈, 主要用来开发用于科学研究的桌面应用程序。 但是问题来了, 当他尝试用 C# 绘制 WAV 文件中的数据时,发现非常困难, Python 中的微不足道的任务在 C# 中似乎非常困难,.

虽然有免费的图表库, 但是当加载了千万级的数据时就开始有各种问题了,有一些商业图表库好像可以用,但既复杂又昂贵, 有些库仅适用于 Winforms,有些仅适用于 WPF,而且许多库具有复杂的数据对象模型.

对于 .NET 新手来说非常难以理解, 于是作者就自己实现了图表组件, 这就是 ScottPlot 初版。

然后就开源在了github, 经过几年的逐步更新迭代, ScottPlot 变成了一个功能丰富, 成熟稳定的图表组件库。 另外, 作者在 2012 年被诊断出患有癌症(外周 T 细胞淋巴瘤), 然后在2018年开始接受治疗,包括化疗、放疗和自体骨髓移植, 好消息是, 整个手术的过程还算顺利。

截至到目前, 作者仍然保持着很好的状态, 感谢作者带来如此强大的图表组件, 最后也祝愿作者能够越来越好, ScottPlot 也能越来越好!

开源地址:github.com/ScottPlot/Sc

当然如果不采用winform框架,也可以使用WPF,WPF也有非常多的炫酷UI框架,保证“不丑”!

其他推荐:

工欲善其事,必先利其器,日常工作留意总结,加上网上收集,各式各样的几乎都能找到,所有功能性代码都是独立的类,类与类之间没有联系,可以单独引用至项目。有需要请备用留存。

高能预警:130个超全C#帮助类,提升效率就靠它!

包括:INI文件读写类、SqlHelper、IP辅助类、二维码操作类、URL的操作类、 XML操作类、上传下载帮助类、 二维码操作类、分词辅助类、加密解密帮助类、分页帮助类、图片验证码帮助类、图片操作类、处理枚举类、异步线程帮助类、文件操作类、日志帮助类、时间操作类、科学计数帮助类、全面正则表达式操作类、视频帮助类、网站路径操作类、





  

相关话题

  大型项目中面向过程思想 vs 面向对象思想,哪种开发效率更高? 
  老师说linq语句过时了,是真的吗? 
  你在阅读.NET/C#开源项目源码的时候见过哪些高级写法? 
  为什么 Java 只有值传递,但 C# 既有值传递,又有引用传递,这种语言设计有哪些好处? 
  为什么微软的编程语言C# F#的编译器要那么多黑科技? 
  第一个 C 语言编译器是用什么语言编写的? 
  为何 Boost 的 Asio 要使用 Proactor 模式实现? 
  .NET中如何通过Razor引擎生成这样的代码? 
  有人说C语言过时了,要学就学Python,怎么反驳他? 
  学习 C/C++ ,有什么书籍推荐? 

前一个讨论
做品牌策划工作的,进阶路线是什么?可以学点什么?
下一个讨论
广州有没有哪个口腔医院做正畸好点的呀?





© 2024-11-09 - tinynew.org. All Rights Reserved.
© 2024-11-09 - tinynew.org. 保留所有权利