热门标签 | 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应用程序,无论是办公风格的界面还是海量业务数据的分析处理都可以轻松应对。


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


推荐阅读
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 本文详细介绍了虚拟专用网(Virtual Private Network, VPN)的概念及其通过公共网络(如互联网)构建临时且安全连接的技术特点。文章探讨了不同类型的隧道协议,包括第二层和第三层隧道协议,并提供了针对IPSec、GRE以及MPLS VPN的具体配置指导。 ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
  • Spring Cloud学习指南:深入理解微服务架构
    本文介绍了微服务架构的基本概念及其在Spring Cloud中的实现。讨论了微服务架构的主要优势,如简化开发和维护、快速启动、灵活的技术栈选择以及按需扩展的能力。同时,也探讨了微服务架构面临的挑战,包括较高的运维要求、分布式系统的复杂性、接口调整的成本等问题。最后,文章提出了实施微服务时应遵循的设计原则。 ... [详细]
  • win10个性化打不开如何解决
    本篇内容主要讲解“win10个性化打不开如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • 本文探讨了大型服务端开发过程中常见的几个误区,包括异步任务处理不当、日志同步模式使用、网络操作未设置超时、缓存命中率及响应时间未统计、单一缓存模式、分布式缓存加锁不当以及团队管理上的误区,旨在帮助开发者避免这些常见错误。 ... [详细]
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社区 版权所有