热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

winform通用框架(winform窗体)

通过基类的封装,可以大大减少常规性的代码,这个也是基类封装的目的所在。frompc˃登录过程如下所示,成功后获得用户的身份信息并缓存起来待用,毕竟系统界面,大多数都需要获得用户的信


为了方便起见,WinForm开发可能需要封装窗体的常规数据和操作函数。 通过定制基类的表单,可以实现这些封装管理,将这里介绍的用户id信息的缓存和提取等常见操作统一到框架中,并使其轻松处理。 基类的封装可以大大减少常规代码。 这也是基类封装的目的。


DevExpress WinForms Subscription官方最新版免费下载试用、历史版下载、在线文档和帮助文件下载-慧都网


一、用户登录获得身份信息并缓存用户登录界面通过获取用户的帐户密码进行登录验证,如以下界面所示。




登录过程如下所示,成功后,获取用户的身份信息并缓存等待。 毕竟,系统界面经常需要获取用户的信息。




获得用户身份信息后,调用SetLoginInfo设置缓存数据,以便以后使用。




通过以上处理,用户的身份信息、权限信息、角色信息全部可以一次获得,可以在各界面中使用。


二、基类窗体的用户身份提取这里的LoginUserInfo是表单基类的属性,该属性通过两种方法获取。 一个是用户在调用表单的显示之前指定,另一个是通过基类自动为缓存中的用户对象指定值。


以下代码是接口基类BaseForm的代码的一部分。


namespace WHC .框架.基本用户界面


{


///summary


//常规接口基类


////summary


publicpartialclassbaseform :开发版. xtra编辑器. xtra表单,I函数


{


公共事件握手数据存储; //子窗体数据保存的触发


公共基础表格(


{


初始化组件(;


//为了保证某些接口控制的权限控制和身份确认,简化操作,在接口初始化时,从缓存中删除内容(


//继承的子模块也可以在InitFunction )中指定有关用户的信息


this.loginuser info=cache.instance [ ' loginuser info ' ]分配信息;


this.function dict=cache.instance [ ' function dict ' ]辅助字符串,字符串;


}以这种方式实例化接口基类后,将自动检索用户信息。 如果保存/获取的密钥值匹配,则此操作类似于Web域中的Session操作。




用户组件也可以通过以这种方式定义基类,使所有自定义用户组件更容易获取用户的标识信息,如以下代码所示。




表单界面中可以放置很多模块,模块从表单中获取用户识别信息、角色信息等,进行初始化的判断。




最终集成到主体接口上的是各个模块,每个模块都有不同的表单接口,但是可以从缓存中获取用户识别信息,所以数据处理非常方便。




对于业务报销信息,可以根据用户身份信息快速获得相应的记录列表,并在修改时记录用户身份信息。




在添加主表中的记录时,可以通过弹出以下新接口来执行数据维护操作:




或者如下的接口处理。




DevExpress WinForm接口控件


DevExpress WinForm有180个组件和UI库,可以创建对Windows Forms平台有影响力的业务解决方案。 DevExpress WinForms可以完美构建流畅、美观、易用的APP应用程序,无论是办公风格的界面还是海量业务数据的分析处理都可以轻松应对。


原文:博客园-诚实的侠主


推荐阅读
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文探讨了在iOS平台上开发BLE(蓝牙低功耗)应用程序时遇到的挑战,特别是如何实现应用在后台模式下仍能持续扫描并连接蓝牙设备。文章提供了具体的配置方法和常见的问题解决方案。 ... [详细]
  • 本文针对初学者在创建Android项目时遇到的R.java文件错误提供了解决方案,通过实际案例和详细的日志分析,帮助读者快速定位并解决问题。 ... [详细]
  • 本文探讨了在iOS项目中导入MKNetworkKit库时遇到的常见问题及其解决方案。 ... [详细]
  • Android Studio 中 Gradle 使用的常见问题与解决方案
    本文探讨了在使用 Android Studio 进行开发时,遇到的与 Gradle 相关的问题,包括每次打开项目都需要下载 Gradle 和 Gradle 插件依赖包下载失败或卡顿等问题,并提供了详细的解决方法。 ... [详细]
author-avatar
蒲小平2502897955
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有