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 有了第一个程序的开发,代码生成器的配置应该是没有问题了,我们只要在对应的数据库中创建我们需要的表结构就可以了,如下: 主表结构如下: ...
随机推荐
- (持续更新)Qt3D 学习资源
目录 一.前言 1.1 什么是Qt3D 1.2 Qt3D 的利与弊 利:原生支持 弊处:资料过少 二.学习建议 2.1 OpenGL 学习资料 2.2 Qt3D 资料 2.2.1 视频资料 2.2.4 ...
- 图解kafka - 设计原理解析
什么是消息队列? 简单来说,消息队列是存放消息的容器.客户端可以将消息发送到消息服务器,也可以从消息服务器获取消息. 问题导读: ********* 为什么需要消息系统? kafka架构? kafka ...
- python方法和函数集锦
方法的使用: 变量.方法名(参数) 函数的使用: 函数名(参数) 字符串 1.删除空白 rstrip(): 返回去掉尾部的空格后的字符串.(不改变原字符串) lstrip(): 去掉首部空格 stri ...
- ASP.NET第一次访问慢的解决方法(MVC,Web Api)
问题现象 访问asp.net web项目的时候,第一次访问比较慢,当闲置一段时间后,再次访问还是会非常慢. 问题原因 这是IIS回收造成的,再次访问的时候会初始化操作,初始化需要耗费时间,所以访问会比 ...
- HDU 5775:Bubble Sort(树状数组)
http://acm.hdu.edu.cn/showproblem.php?pid=5775 Bubble Sort Problem Description P is a permutation ...
- django基础知识之分页:
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...
- 关于网页授权access_token和普通access_token的区别
关于网页授权access_token和普通access_token的区别 1.微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授 ...
- linuxprobe培训第2节课笔记2019年7月6日
使用VM虚拟机配置RHEL实验环境. 鉴于在笔记本上装过centos7,这章内容难度对我来说不是很大. 重置root管理员密码(RHCSA考题,第一题,做不出来无法进行下一步考试) e linux16 ...
- NetCore AutoMapper的封装
需要引用AutoMapper的Nuget包 如果需要忽略某个字段就在字段上面打标签如下: [IgnoreMap] public string IgnoreValue { get; set; } ...
- 手动启动log4j|nginx实现http https共存
手动加载log4j.xml文件 DOMConfigurator.configure("src/main/resources/log4j.xml"); log4j.propertie ...