草庐IT

基于SqlSugar的开发框架循序渐进介绍(9)-- 结合Winform控件实现字段的权限控制

字段的权限控制,一般就是控制对应角色人员对某个业务对象的一些敏感字段的可访问性:包括可见、可编辑性等处理。本篇随笔结合基于SqlSugar的开发框架进行的字段控制管理介绍。在设计字段权限的时候,我们需要了解这些还是基于RBAC的概念,基于角色进行授权的,而且我们的字段列表是属于具体的业务对象列表的,这里的业务对象是指一些我们具体的业务模块,如客户基础信息、人员基础信息、报价单等等,我们就是基于这些业务进行字段的控制的。1、字段权限表的设计和界面管理基于SqlSugar的开发框架,对应处理的业务对象信息的,是相关的实体对象信息,我们在数据库中设计两个数据库,一个用于存储对应实体类名称的信息,如I

在Winform开发中,使用Async-Awati异步任务处理代替BackgroundWorker

在Winform开发中有时候我们为了不影响主UI线程的处理,以前我们使用后台线程BackgroundWorker来处理一些任务操作,不过随着异步处理提供的便利性,我们可以使用Async-Awati异步任务处理替换原来的后台线程BackgroundWorker处理方式,更加的简洁明了。在一些耗时的操作过程中,在长时间运行时可能会导致用户界面(UI)处于停止响应状态,因此使用使用Async-Awati异步任务处理或者后台线程BackgroundWorker来处理一些任务操作很有必要。在使用BackgroundWorker的过程中,我们可以定义自己的状态参数信息,从而实现线程状态的实时跟踪以及进度和

在Winform开发中,使用Async-Awati异步任务处理代替BackgroundWorker

在Winform开发中有时候我们为了不影响主UI线程的处理,以前我们使用后台线程BackgroundWorker来处理一些任务操作,不过随着异步处理提供的便利性,我们可以使用Async-Awati异步任务处理替换原来的后台线程BackgroundWorker处理方式,更加的简洁明了。在一些耗时的操作过程中,在长时间运行时可能会导致用户界面(UI)处于停止响应状态,因此使用使用Async-Awati异步任务处理或者后台线程BackgroundWorker来处理一些任务操作很有必要。在使用BackgroundWorker的过程中,我们可以定义自己的状态参数信息,从而实现线程状态的实时跟踪以及进度和

.NET中的winform、wpf、winui和maui你都知道吗?

前言    年初.NET工程师的求职者反馈不好找工作,尤其是B/S开发,C/S开发稍微好点。这种情况下有好多小伙伴都想转行了,于是了解了一下JAVA,比.NET还卷,还是走.NET内部转行吧,转C/S桌面开发。本文介绍.NET几种桌面开发技术的方向,大家可以参考一下,具体如下。一、简介WinForms(WindowsForms):WinForms是一个基于WindowsAPI的GUI框架,是.NETFramework中的一部分。它提供了一个窗体(Form)和控件(Controls)的类库,允许开发者创建传统的Windows桌面应用程序。WinForms最早发布于2002年,是.NETFrame

.NET中的winform、wpf、winui和maui你都知道吗?

前言    年初.NET工程师的求职者反馈不好找工作,尤其是B/S开发,C/S开发稍微好点。这种情况下有好多小伙伴都想转行了,于是了解了一下JAVA,比.NET还卷,还是走.NET内部转行吧,转C/S桌面开发。本文介绍.NET几种桌面开发技术的方向,大家可以参考一下,具体如下。一、简介WinForms(WindowsForms):WinForms是一个基于WindowsAPI的GUI框架,是.NETFramework中的一部分。它提供了一个窗体(Form)和控件(Controls)的类库,允许开发者创建传统的Windows桌面应用程序。WinForms最早发布于2002年,是.NETFrame

winform用show实现showdialog的模态化效果

一、Show与ShowDialog众所周知在c#中有两种显示窗口的方式:模态显示(showdialog)与非模态显示(show),模态显示会阻塞调用窗口的所有消息响应,在调用ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码,期间用户是无法对该窗口外的界面进行ui交互的;非模态显示则不会,可以在弹出窗口和调用窗口之间随意切换。调用窗口调用show方法后,下面的代码可以立即执行。二、实现不阻塞的等待那么如果我们想实现一个新的窗口显示方法,既可以像模态显示那样,在关闭对话框的时候才执行显示方法后的代码,又可以像非模态显示那样不阻塞消息响应,不影响用户的UI操作。这里我们就要用到一

winform用show实现showdialog的模态化效果

一、Show与ShowDialog众所周知在c#中有两种显示窗口的方式:模态显示(showdialog)与非模态显示(show),模态显示会阻塞调用窗口的所有消息响应,在调用ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码,期间用户是无法对该窗口外的界面进行ui交互的;非模态显示则不会,可以在弹出窗口和调用窗口之间随意切换。调用窗口调用show方法后,下面的代码可以立即执行。二、实现不阻塞的等待那么如果我们想实现一个新的窗口显示方法,既可以像模态显示那样,在关闭对话框的时候才执行显示方法后的代码,又可以像非模态显示那样不阻塞消息响应,不影响用户的UI操作。这里我们就要用到一

在Winform分页控件中集成导出PDF文档的功能

当前的Winform分页控件中,当前导出的数据一般使用Excel来处理,Excel的文档可以用于后期的数据展示或者批量导入做准备,因此是比较好的输入输出格式。但是有框架的使用客户希望分页控件能够直接导出PDF,虽然Excel也可以直接转换为PDF,不过直接导出PDF的处理肯定更加方便直观。因此整理了一下分页控件导出PDF的处理过程,分享一下。1、PDF的导出插件使用PDF导出的插件有很多,如Aspose.PDF、Spire.PDF、PdfSharp、iTextSharp等等很多,有些是收费的,有些是开源免费的,我们这里使用iTextSharp开源组件进行PDF的导出处理操作。在测试的时候,我们

在Winform分页控件中集成导出PDF文档的功能

当前的Winform分页控件中,当前导出的数据一般使用Excel来处理,Excel的文档可以用于后期的数据展示或者批量导入做准备,因此是比较好的输入输出格式。但是有框架的使用客户希望分页控件能够直接导出PDF,虽然Excel也可以直接转换为PDF,不过直接导出PDF的处理肯定更加方便直观。因此整理了一下分页控件导出PDF的处理过程,分享一下。1、PDF的导出插件使用PDF导出的插件有很多,如Aspose.PDF、Spire.PDF、PdfSharp、iTextSharp等等很多,有些是收费的,有些是开源免费的,我们这里使用iTextSharp开源组件进行PDF的导出处理操作。在测试的时候,我们

关于 c#:Winform ClientSize 在 Maximize w/noborder 后超出屏幕尺寸

WinformClientSizeexceedsscreendimensionsafterMaximizew/noborder我正在使用此代码在正常的WindowState(具有相当大的边框样式)和最大化(具有无边框样式)之间切换。12345678910if(WindowState!=FormWindowState.Maximized){  WindowState=FormWindowState.Maximized;  FormBorderStyle=FormBorderStyle.None;}else{  WindowState=FormWindowState.Normal;  FormBo