提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2011-04-19 15:45:06.000|阅读 2176 次
概述:但是个人感觉这套控件虽然相当豪华,但是很难上手,资料少不说,其属性设置什么的与通常的属性差别太大,应用起来太难。相比dotNetBar要好很多,比如改造现有窗体只需要改变按钮类型以及窗体父类就可以了,但是对于DevExpress这简直是天方夜谭。研究整整两天到现在才有关于窗体皮肤的那么一点头绪,真郁闷。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
但是个人感觉这套控件虽然相当豪华,但是很难上手,资料少不说,其属性设置什么的与通常的属性差别太大,应用起来太难。相比dotNetBar要好很多,比如改造现有窗体只需要改变按钮类型以及窗体父类就可以了,但是对于DevExpress这简直是天方夜谭。研究整整两天到现在才有关于窗体皮肤的那么一点头绪,真郁闷。
在DevExpress中有些内建的风格了,要加载额外的风格,需要使用 DevExpress.Skins.SkinManager.Default.RegisterAssembly 这个方法,下面是示例代码:
DevExpress.Skins.SkinManager.Default.RegisterAssembly (System.Reflection.Assembly.Load("DevExpress.BonusSkins.v7.3")); DevExpress.Skins.SkinManager.Default.RegisterAssembly (System.Reflection.Assembly.Load("Office2007Bonus")); //DevExpress.Skins.SkinManager.Default.RegisterAssembly (System.Reflection.Assembly.Load("DevExpress.XmasSkins")); DevExpress.Skins.SkinManager.Default.RegisterAssembly (System.Reflection.Assembly.Load("DevExpress.OfficeSkins.v7.3"));
上面那行注释掉的是因为运行会出错,个人估计是因为破解的缘故,呃。这样加载的结果,大概是有17个风格出现。
DevExpress窗体风格应用以及MDI子窗体风格的应用 在风格加载过后,通过 DevExpress.Skins.SkinManager.Default.Skins 可以获得所有皮肤的列表。
在应用控件后,窗体要应用DevExpress的风格,可以让窗体不从 System.Windows.Forms.Form 继承而从 DevExpress.XtraEditors.XtraForm 继承,这样窗体就可以使用DevExpress 的风格颜色配置了。但是这样使用后还会有问题,就是窗体的边框不会被DevExpress的风格应用上。
要解决这个问题,可以使用 DevExpress.Skins.SkinManager.EnableFormSkins() 这个方法,在应用后,窗体边框也会被应用上风格。这个方法建议在创建窗体前就调用,比如在 Program.cs 的Main方法中,在 Application.Run 调用前就使用,这样能避免很多问题。
到此基本上达到目的了,但是呢,人类的欲望是无穷的啊。现在就会发现有点不爽的地方了,是什么呢?就是当一个窗体是MDI窗体(MDIParent不为空)的时候,这个窗体是无论如何也无法被应用的。郁闷不?那当然郁闷,何止是郁闷,那不是一般的郁闷啊。可怜DevExpress的开发文档少得就如同我兜里的钞票一样,在它的Demo之内也没有找到示例。
不过终于找到方法了,还是从开发文档中找到的,那就是 evExpress.Skins.SkinManager.EnableMdiFormSkins() 这个方法。望文生义,看这个方法的名字就知道这个函数是干嘛了吧??
  但是很让我感觉不对劲的是,为什么在VS里面找不到这个方法。在SDK中对这个方法的解释是,“This member supports the internal infrastructure and is not intended to be used directly from your code”。我英语不太好,但是我看懂了它是在说不建议直接从代码中调用,也不知道是为什么。祭出伟大的 Reflector 反编译一下 DevExpress.Utils.v7.3.dll ,看到这样的代码:
1[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] 2public static void EnableMdiFormSkins() 3{ 4 allowMdiFormSkins = true; 5}
琢磨着可能有其它的方法能间接调用,但是折腾这么久死了N+脑细胞也没能找到是因为什么啊,忧郁
算了,最后就直接调用了,编译正常,运行也正常。想不通,但就这么着吧。最后Program.cs中的代码如下:
[STAThread] static void Main() { Application.EnableVisualStyles(); DevExpress.UserSkins.OfficeSkins.Register(); DevExpress.Skins.SkinManager.EnableFormSkins(); DevExpress.Skins.SkinManager.EnableMdiFormSkins(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm());
(慧都控件网版权所有,转载请注明出处,否则追究法律责任)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:网络转载面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢