卧槽Winform也可以这么好看?
Winform也可以这么好看?
对于Winform很多人的刻板印象就是拖拉拽,简单生产界面,但是这样对于界面的效果,它并不会很好,虽然简单,快,但是效果也是极差,所以有很多人就去使用WPF,去写xml的语法写界面,但是我个人非常不习惯这种xml的写法,但是有时候Winform更简单,但是有没有一个让简单的Winform更简单的去写更优雅更好看的界面呢?
当然有,并且性能也是极高的,这时候就可以来到我们的Winform+Blazor的技术组合,这时候也有人会说这不就是套webView吗?当然他也是用到了webview的技术托底了我们的blazor让其显示,但是他与直接使用webView不太一样,
这种技术称Blazor Hybrid
什么是Blazor hybrid
Blazor Hybrid是一种新型的应用程序开发框架,它结合了Blazor WebAssembly和Blazor Server的优点,可以在Web和本地环境中运行。Blazor Hybrid允许开发人员使用C#和.NET技术来构建跨平台的应用程序,包括Web应用程序、桌面应用程序和移动应用程序。
Blazor Hybrid的核心思想是将Blazor Server应用程序嵌入到本地应用程序中,以实现本地应用程序的功能和性能。这样,开发人员可以使用Blazor Server的实时通信功能来实现本地应用程序的实时更新和交互性,同时还可以利用本地应用程序的优势,如本地文件系统、硬件加速和本地API。
Blazor Hybrid的开发过程与Blazor WebAssembly和Blazor Server类似,开发人员可以使用C#和.NET技术来编写应用程序代码,并使用Blazor组件来构建用户界面。开发人员还可以使用Visual Studio和Visual Studio Code等工具来进行开发和调试。
Blazor Hybrid的优点包括:
跨平台:
Blazor Hybrid可以在Web、桌面和移动平台上运行,为开发人员提供了更多的选择。性能:
Blazor Hybrid利用本地应用程序的优势,可以提供更好的性能和响应速度。开发效率:
Blazor Hybrid使用C#和.NET技术,可以提高开发效率和代码重用性。
总之,Blazor Hybrid是一种新型的应用程序开发框架,可以帮助开发人员构建跨平台的应用程序,包括Web应用程序、桌面应用程序和移动应用程序。它结合了Blazor WebAssembly和Blazor Server的优点,可以在Web和本地环境中运行,提供更好的性能和实时通信功能。
Winform和Blazor结合的完整的前端Demo


这是由Masa Blazor Pro(MIT开源的项目)改的支持在Winform Blazor中运行的Demo,内有非常多的案例
Demo下载地址:https://tokenfile.oss-cn-beijing.aliyuncs.com/BlazorWinform.zip
总结
如果你发现winform拖拉拽的界面无法满足你的需求,你也可以体验一下Winform Blazor非常的舒服,并且Blazor存在丰富的组件,而且使用成熟的Blazor组件对于开发效率非常的高,当前演示的是由[MASA Stack Docs](https://docs.masastack.com/)的MIT开源的Pro项目移植
来自Token的分享
技术交流群:737776595
卧槽Winform也可以这么好看?的更多相关文章
- 在winform中怎样实现好看的treeview样式
这是在网上截取的一张图,就是想做成这样的效果,不能用devExperss控件,主要是不知道他的那个“组织机构列表“用的是不是panel,怎样弄的样式
- .NET程序猿 - 提升幸福感的组件一览
1.Newtonsoft.Json.net 操作JSON最简便的方式. .Net 3.5开始,Framework集成Json序列化器:JavaScriptSerializer,然而Json.net给 ...
- Winform系列——好看的DataGridView折叠控件
来园子几年了,第一次写博客.以前看到别人的博客就在想:这些人怎么能有这么多时间整理这么多知识,难道他们不用工作.不用写代码.不用交付测试?随着工作阅历的增加,发现其实并不是时间的问题,关键一个字:懒. ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
- Winform下CefSharp的引用、配置、实例与报错排除(源码)
Winform下CefSharp的引用.配置.实例与报错排除 本文详细介绍了CefSharp在vs2013..net4.0环境下,创建Winfrom项目.引用CefSharp的方法,演示了winfro ...
- Winform应用程序实现通用遮罩层
在WEB上,我们在需要进行大数据或复杂逻辑处理时,由于耗时较长,一般我们会在处理过程中的页面上显示一个半透明的遮罩层,上面放个图标或提示:正在处理中...等字样,这样用户体验就比较好了,然而如果在Wi ...
- 如何在Winform界面中设计图文并茂的界面
在Winform里面,很多控件元素都是标准的,如图标.按钮.工具栏等等,所以一般设计标准的Winform界面比较快捷,但是往往这样的界面相对单调一些,特别在界面控件比较少的情况下,我们往往需要加入一些 ...
- C#Winform VScrollBar+Pannel自定义列表控件(原)
该控件的主要实现思路是用的objective-c中的自定义控件思路,主视图中放子视图 效果图 (窗体调用代码) public partial class Form1 : RibbonForm { Li ...
- Winform打包工具SetupFactory 9 的使用
写了个WinForm的小程序..以前没打过包..只是直接把Bin里的东西复制出来使用..自己使用是足够.但是发给别人毕竟不太好看(不牛逼)..所以就想着打包.. Vs2012自带的有打包的功能..相信 ...
- WinForm使用皮肤图文步骤
Winfrom本身样式提供的是Windows经典样式.. 不说多丑也绝称不上好看..有时为了用户体验就不得不需要想办法弄漂亮一点..皮肤包会是一个不错的选择.. 不废话了..开整.. 首先从网上下载免 ...
随机推荐
- Unity打包ARCore项目失败,但是其他安卓项目成功
https://blog.csdn.net/lxbhahaha/article/details/111269980
- curl: (35) SSL connect error的错误
1.先升级nss (Network Security Service, 网络安全服务) yum update nss如果没有nss,则需要安装nss服务 yum install nss 2.更新/安装 ...
- userdel: user zhangsan is currently used by process 1057
我个人推测是在root用户下su 切换到xiaoming用户,然后在xiaoming用户下又切换回root,但是xiaoming用户还被某个进程占用着,所以进程不死,用户del不掉. 所以我们在命令行 ...
- SXSSFWorkbook 表格内换行
起因 导出的excel需要在表格内换行,但搜索到的方法都实现不了我的需求,经同事搜查得知,这是POI的一个bug,已经在17年八月后被解决. 生成方式 pom依赖 <dependency> ...
- SQL作业编辑报错 无法将COM组件......
在命令行运行下列命令 数据库为2005cd C:\Program Files\Microsoft SQL Server\90\DTS\Binnregsvr32 dts.dll
- ICSFUZZ:操纵I/O、二进制代码重用以及插桩,来Fuzzing工业控制应用程序
本文系原创,转载请说明出处 Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯 源码:GitHub - momalab/ICSFu ...
- Spring-设计模式
1.1开闭原则 开闭原则(open-closed principle,OCP)是指一个软件实体(如类,模块和函数)应该对扩展开放,对修改关闭.所谓的开闭,也正是对扩展和修改两个行为的一个原则. 强调用 ...
- 使用 Agora 为Android APP添加视频直播
add-live-streaming-to-your-android-app-using-agora-featured1024×512 121 KB 视频互动直播是当前比较热门的玩法,我们经常见到有P ...
- MybatisPlus------代码生成器
快速开发: 代码生成器: (1)模版:MyBatisPlus提供 (2)数据库相关配置:读取数据库获取信息 (3)开发者自定义配置:手工配置 package com.ithema; import co ...
- CSharp linq 的本质
linq 的本质是扩展方法和委托的结合 链式 linq 和 方法级linq List<int> list = new List<int>() { 3,9,32,7 }; // ...