[WinFormUI设计与开发思路.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[WinFormUI设计与开发思路

WinForm UI设计与开发思路最近一年来一直在做WinForm相关的系统,对WinForm的UI设计有一些想法想和大家讨论(主要是比较忙,所以很多只是设想,还没有开发实例)?  关于WinUI,理想的情形应该是外观比较cool,能给用户良好的使用体验和印象,同时又兼顾功能强大和容易开发。但基于传统的.NET WindowsForms,恐怕除了容易开发,在其他方面的指标都很普通了。如果为了界面和功能,则复杂度会提高很多,用大量的GDI+和API操作,相信会让很多人头痛不已。?  以下是一些思路:?Custom Control写代码定制控件Shell Style利用Shell Style工具Flash Control利用Flash控件Html Control利用Html控件  编程来实现各种样式的控件,这个是大家比较熟悉和常用的方法,也是上面提到过的。我们现在集中来讲解一下后面三种。?Windows Shell Style?  不知道大家在厌倦了Windows默认的窗体和菜单后,是不是用过一些改变Windows外观的软件,例如StarDock公司的很多产品(WindowBlinds总知道吧)以及TGTSoft的StyleXP。?轻松改变Windows程序的外观  事实上微软在Win2000,XP,2003系统上均引入了Visual Style的概念,也就是系统外观主题。它提供了一些API,可以方便地修改Windows窗体和控件的整体外观呈现。所以我们一般在改变Windows的主题后,一般大部分程序的按钮、形状都会跟着改变(在.NET中可能需要将控件的FlatStyle设成System并且EnableVisualStyles()才会有效)?  这里要提的是TGTSoft的StyleXP工具,它基于Windows Visual Style架构,同时又有自己的API,此外,它还有其他一些优点,比如它的每种外观样式,全部打包在一个DLL文件中,同时还有相应的工具(StyleBuilder)来制作这些样式DLL。?  在安装完StyleXP后,我们可以在C:\WINDOWS\Resources\Themes\主题名称\shell目录中找到该主题的DLL文件。?StyleBuilder让你定制自己的Windows外观  有了这些基础,我们就可以在我们的程序中利用ShellStyle的API来应用这些外观样式,通过加载不同的资源DLL,就可以轻松改变软件的外观。当然这种方式中,你所使用的控件还是传统的Windows控件,所以还是有一定局限性。?  至于如何利用ShellStyle的API,CodeProject上有一个不错的例子:Themed Windows XP style Explorer Bar?Flash Control?  我们知道Flash的出现和广泛流行都是由于Web环境,但Flash发展到今天,其功能已不单单局限于Web。我这里提出的一种思路就是把Flash作为控件应用在WinForm中。微软研究院的Wallop就是完全用的Flash。?  我们首先来看一下这种实现的技术前提:?1Macromedia提供了Flash Player的ActiveX控件,可以直接嵌入到WinForm2Flash本身提供了和Web环境类似的表单控件(TextBox,Button..)3Flash提供了和外界的数据交换功能,可以通过FSCommand向外发送事件4Flash内部可以使用ActionScript(一种类似JavaScript的脚本)控制其内部行为5Flash对Http和Xml有良好的支持6Flash支持WebService  如果你以前不了解或熟悉Flash,当你看到这么多激动人心的特性后,大脑里已经迸发出各种思想的火花了?Flash不仅可以帮助我们在WinForm里实现各种强大的交互功能,而且可以借助于WebService,实现类似于SmartClient的富客户端(SmartClient既不算胖也不算瘦客户端吧)^^?  我们再来看一下除了以上几点,Flash真正吸引我们解决文章前面提到的问题的一些特性:?1Flash基于流传输,非常小巧并且嵌入浏览器2纯Flash可以做到跨平台3Flash在动画效果和用户交互上的强大表现力4Flash动态交互效果的容易实现(相对于WinForm编程来说)FLASH外观HTML Control?  既然可以在应用程序中使用Flash,那么在其中使用HTML页面呢?当然可以,事实上这并不是一种新做法,比如微软,就在相当长时间里都在它的软件里广泛使用这种技术,例如MSN。在应用程序中嵌套HTML,好处自然就是可以把Application做得像Web一样,一个网页的外观可以做到哪种程度,你的控件,窗体也

文档评论(0)

yingrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档