WinForm开发中通用附件管理控件设计开发参考
1、引言
在WinForm开发中,文件附件的管理几乎在任何一个应用上都会存在,是一个非常通用集中的公共模块。我们日常记录会伴随着有图片、文档等附件形式来展现,如果为每个业务对象都做一个附件管理,或者每次开发系统都重新做,效率可想而知。一个通用的集上传,预览,管理为一体的集中式附件管理控件即为重要。在上一篇文章RDIFramework.NET敏捷开发框架WinForm新增文件中心-实现附件集中管理我们对通过RDIFramework.NET敏捷开发框架对文件集中管理做了详细的介绍。本篇主要介绍通过我们开发的通用附件管理控件在业务模块上传与管理附件时的使用方式与效果展示进行讲述,希望对有帮助与需要的朋友以参考。
2、通用附件管理控件的开发
为最大限度减少重复劳作,通用附件控件必须以实际需求出发,占在使用角度最大限度做到通用。一般来说,我们在数据编辑界面会对应两大需求,一是管理与数据记录对应的附件列表,一是要对已上传的附件进行维护。
2.1、管理记录附件列表
为了满足对记录附件的管理,我们专门开发了通用附件管理控件【UCAttachment】,该控件是集上传、预览、集中管理为一体的集中式通用附件管理控件。

有了通用附件管理控件,我们在需要管理附件的业务模块,只需要拖动我们的控件到界面上做好绑定就可以轻松快速的完成对附件的上传与管理。如下图所示,在业务模块的设计界面,拖动我们的通用附件控件到界面上。

控件添加到界面上后对控件属性设置一下,再在窗体加载事件方法中对附件控件进行初始化即可完成。如下图所示:

运行业务模块可以看到我们的附件控件的实际效果,如下图所示。列出了当前记录对应的附件数量。
2.2、已上传的附件进行维护

在上图中,单击“查看附件”按钮,打开“附件信息”窗口,在“附件信息”主界面我们可以对附件进行上传、删除、预览等。

附件信息窗口支持对各种常用类型附件的直接预览与管理,如:PDF文件、Excel文件、Word文件、各类型图片文件、CSV文件,文本文件等等。

图片查看可以放大,缩小,逆时针旋转,顺时针旋转、打印等功能。

3、文件中心对业务模块上传的附件进行集中管理
在上一篇文章RDIFramework.NET敏捷开发框架WinForm新增文件中心-实现附件集中管理我们对文件中心进行了非常详细的介绍。在左侧附件分类有一个表数据文件的分类。此类型的文件不能在这儿上传(只能通过业务表单上传),但在这儿可以下载,预览,超级管理员可以删除。通过这儿我们也可以对业务模块上传的文件进行集中管理。

4、参考文章
框架相关
一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。
RDIFramework.NET官方网站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!
RDIFramework.NET框架由海南国思软件科技有限公司专业团队长期打造、一直在更新、一直在升级,请放心使用!
欢迎关注RDIFramework.net框架官方公众微信(微信号:guosisoft),及时了解最新动态。
扫描二维码立即关注

WinForm开发中通用附件管理控件设计开发参考的更多相关文章
- Winform开发框架之通用附件管理模块 --SNF快速开发平台3.3-Spring.Net.Framework
最近项目太多都没有时间写文章了,实际项目需求一,CS端和windows平板都需要附件上传管理功能.以前做的都是BS的附件管理和上传功能.本来计划在Winform上嵌套一个浏览器直接用bs的附件上传功能 ...
- 在Winform开发框架中,利用DevExpress控件实现数据的快速录入和选择
在实际的项目开发过程中,有好的控件或者功能模块,我都是想办法尽可能集成到我的WInform开发框架中,这样后面开发项目起来,就可以节省很多研究时间,并能重复使用,非常高效方便.在我很早之前的一篇博客& ...
- C/S模式开发中如何利用WebBrowser控件制作导航窗体
原文:C/S模式开发中如何利用WebBrowser控件制作导航窗体 转自: CSDN 相信不少同学们都做过MIS系统的开发,今天这里不讨论B/S模式开发的问题.来谈谈winform开发.用过市面上常见 ...
- 在开发中使用GMap.Net 控件的心得一
首先必须先加载GMap.Net这个控件,先通过"添加引用"来加载相应的.dll文件,如果在工具箱中找不到GMapControl这个控件,也别心急. 点击"工具" ...
- ASP开发中服务器控件和普通控件的区别
1.对于服务器按钮控件(即<asp:Button>类型的按钮):服务器响应事件:OnClick客户端响应属性:OnClientClick 2.对于html按钮控件(即<input t ...
- 发现C#winform编程中不常用的控件(一)<FlowLayoutPanel控件><拆分器控件Splitcontainer >
第一部分:FlowLayoutPanel控件 实现效果: 将FlowLayoutPanel做为导航菜单按钮的容器 以实现 某个菜单按钮不显示时 整体的导航菜单布局不至于"缺憾" 原 ...
- SNF开发平台WinForm-表单验证控件-通用
CS程序也能做到像BS程序一样的验证效果,如下: 1.验证控件的展示 校验时如果不符合验证条件的控件,会在控件上显示较显眼的图标. 当出现不符合验证的控件时,鼠标悬浮会显示自定义的提示信息. 如:输入 ...
- SNF开发平台WinForm之十五-时间轴控件使用-SNF快速开发平台3.3-Spring.Net.Framework
一.显示效果如下: 二.在控件库里选择UCTimeAxis 拖拽到窗体里. 三.加入以下代码,在load事件里进行调用就可以运行了. #region 给时间轴控件加载数据 private void U ...
- SNF开发平台WinForm之四-开发-主细表管理页面-SNF快速开发平台3.3-Spring.Net.Framework
4.1运行效果: 4.2开发实现: 4.2.1 有了第一个程序的开发,代码生成器的配置应该是没有问题了,我们只要在对应的数据库中创建我们需要的表结构就可以了,如下: 主表结构如下: ...
随机推荐
- 8天入门docker系列 —— 第七天 让你的container实现跨主机访问
当你有若干个容器之后,你可能就希望实现容器的跨机部署访问了,比如aspnetcore在一台host上,mysql在另外一个host上,如果要实现这样的功能,需要你借助 docker自带的overlay ...
- Web Scraper 翻页——控制链接批量抓取数据
 这是简易数据分析系列的第 5 ...
- HDU 4462:Scaring the Birds(暴力枚举+状态压缩)
http://acm.hdu.edu.cn/showproblem.php?pid=4462 题意:有一个n*n的地图,有k个空地可以放稻草人,给出每个空地可以放的稻草人属性,属性中有个R代表这个位置 ...
- scrapy实战4 GET方法抓取ajax动态页面(以糗事百科APP为例子):
一般来说爬虫类框架抓取Ajax动态页面都是通过一些第三方的webkit库去手动执行html页面中的js代码, 最后将生产的html代码交给spider分析.本篇文章则是通过利用fiddler抓包获取j ...
- Nginx+Tomat8负载后,利用Redis实现Tomcat8的session共享
网上相应的文章应该都介绍,这里只特别记录下笔者在实操的过程出现的问题.此文件只针对tomcat 8 版本,之前版本可略过. tomcat 8 中的context.xml文件修改,增加以下配置. Jav ...
- Python之爬虫有感(一)
urllib.request.Request('URL',headers = headers)User-Agent 是爬虫和反爬虫斗争的第一步,发送请求必须带User—Agent使用流程: 1. ...
- Maven(一)Maven 的概念和安装
Maven 的概念和安装 Maven 是什么 首先 Maven 肯定是一个造福人类的好东西,它可以省去我们构建项目中引入 jar 包时的麻烦,还有利于项目的模块化开发等等等好处.在如今项目中大体都是使 ...
- markdown浅谈
markdown是啥? markdown就是一种修饰网页/博客的方法,他能使网页变得更美观. 我们先解释一下代码框: 这个没法保留,就是把键盘左上角的⋅·⋅ 切换成英文变成`. 然后``` 在隔一行` ...
- 求1到n的质数个数和O(n)
也许更好的阅读体验 \(\mathcal{AIM}\) 我们知道: 对于一个合数\(x\) 有\(x=p^{a_1}_1*p^{a_2}_2*...*p^{a_n}_n\) 现在给出一个\(n\) 求 ...
- HDFS的HA(高可用)
HDFS的HA(高可用) 概述 (1)实现高可用最关键的策略是[消除单点故障].HA 严格来说应该分成各个组件的 HA 机制:HDFS 的 HA 和 YARN 的 HA. (2)Hadoop2.0 之 ...