博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PropertyGrid无意的发现DisplayNameAttribute及应用
阅读量:7173 次
发布时间:2019-06-29

本文共 890 字,大约阅读时间需要 2 分钟。

说到这个winform属性控件,要从以前参与项目架构研发,做报表引擎开始,当时我们的目的是想做一个比较简单的报表引擎没有RDLC等报表复杂,是为了让我们的可以操作,用户可以凭借表单拖拽设置样式完成报表模板设置,与我们开发人员代码实现的数据流结合,产生基于apose.cells的excel报表。把我们多而烦的报表业务交给用户完成,用户利用报表设计完成的模板保存为xml保存至服务器,工以后使用。当时做到表单控件属性设计无疑我们采用了控件,支持很多的控件设计时交互,很强大,但是对于控件的属性汉化却存在问题,当时也没仔细查阅msdn,直接让控件属性为中文字段设计完成,对用户提示。最后项目基本完成,能够应对简单报表,稍微减少了些开发工作量吧。

     在时隔今天做基本控件的封装的时候突然看见了System.ComponentModel.DisplayNameAttribute这个标签,见名就考虑是做什么的,查询msdn才知道他就可以完成对的现实名称修改()。于是便尝试了一下。

代码:

View Code

    最后需要特别说明的是对于Attribute我们只能传入常量。在我们的很多开发员使用控件等时候我们也许都习惯了英文对于中文不适应了,但是我们可以利用vs的条件编译绕过,编译出不同的dll包,开发版和用户使用版本。如上面的对于调试和发布版的显示设置。这个ControlResource我们可以开发一个简单的工具对其xml保存并生成我们需要的代码维护。

看图:

设置Dock=Top:

设置Dock=Bottom:

    同时我也考虑到在我们的工作流自定义表单设计和代码生成工具等中我们也可以运用,表单设计的控件字段属性设置,保存为xml或者二级制,xaml存储之类。简单说一句对于silverlight,wpf 的对于我觉得保存为xaml是最简单的,我们可以直接保存xaml,并简单转换加入父容器中。

本文转自破狼博客园博客,原文链接:http://www.cnblogs.com/whitewolf/archive/2012/02/11/2347096.html,如需转载请自行联系原作者

你可能感兴趣的文章
(转载)Http 请求处理流程
查看>>
GetVersion和GetVersionEx
查看>>
php采集利器snoopy应用技巧
查看>>
我的友情链接
查看>>
安装虚拟机shell脚本
查看>>
[Python]第一个爬虫练习
查看>>
rpm,yum,权限
查看>>
tomcat应用转到weblogic上时的问题
查看>>
vSphere 5.5 vCenter迁移至分布式交换机
查看>>
第二次作业
查看>>
viewport ——视区概念
查看>>
拓扑规则翻译函数(转)
查看>>
数据结构--图的定义和存储结构
查看>>
linux常用命令
查看>>
Appium自动化测试1 - 安装部署
查看>>
Bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐 深搜,bitset
查看>>
C# For Bot Framework
查看>>
UVa294 Divisors
查看>>
洛谷P3406 海底高铁
查看>>
1、JUC--volatile 关键字-内存可见性
查看>>