您现在的位置: 中国IT实验室 >> 软件水平考试 >> 特别推荐 >> 文章正文
.NET 应用程序如何披上XP的外衣?

CSDN.NET  2004-8-11  保存本文  推荐给好友  QQ上看本站  收藏本站



  .net framework 所提供的开发控件也太少了,也太难看了,自已画又费时费力也不见得会得出个什么好的效果。如果能够上我们的程序运行在XP环境中能自动应用XP的主题样式那就省时多了,让MICROSOFT给我们去画控件!以下是我所所试验过的解决办法:
  
  1.Application.EnableVisualStyles方法(只适和.NET 1.1及以后版本支持)
  
  在Main方法中执行Application.Run(...)方法前先执行一下Application.EnableVisualStyles()方法,可以让接下来运行的应用程序中的控件自动套用XP的样式。不过有几点要注意:
  
  所有控件都必须保持预设的状态,不能改变其边框样式及背景颜色等属性.如果有System选项的样式属性(如Button的FlatStyle)则必须选择System;
  
  此方法在WIIN2003中可以完全正常运行,但在WIN XP中工具条上的图标会不能显示.(这个也许是XP的BUG,用下种方法可以解决这个问题);
  
  2.加入manifest文件(适合所有WINDOWS应用程序)
  
  在执行文件相同目录中加入一个yourApplicationName.exe.manifest的XML文件,可以迅速实现我们的需求,文件内容如下(加下划线片为需进行适当改变):
  
  < ?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  
  < assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  
  < assemblyIdentity
  
  version="1.0.0.0"
  
  processorArchitecture="X86"
  
  name="CompanyName.ProductName.YourApp"
  
  type="win32"
  
  />
  
  Your application description here.
  
  type="win32"
  
  name="Microsoft.Windows.Common-Controls"
  
  version="6.0.0.0"
  
  processorArchitecture="X86"
  
  publicKeyToken="6595b64144ccf1df"
  
  language="*"
  
  />
  
  我已用这种方法改变很多不同的应用程序,都取得了成功。不过只能套用那些保持着Windows预设属性的控件。它的实现原理是Windows中所有控件都是交给一个ComCtl32.dll的组件来画的。XP以前的最高版本是5.0,XP中带了一个6.0的ComCtl32.dll,我们以上所做的目的就是通知应用程序采用t.6.0的ComCtl32来展示控件.




 相关文章  热门文章
C#中DataGrid的数据新增编辑删除操作代码
如何使用 ADO.NET 轻松操纵数据库
C#.Net 网络程序开发基础之Socket篇
C#.Net 网络程序开发基础之TCP篇
运用 .net 中的 socket 实现文件传输
如何判断程序处于运行环境还是调试环境
从一个程序出发详细研究 DataReader
使用 C# 在应用程序之间发送消息
设计模式之工厂方法 FACTORY METHOD(三)
设计模式之工厂方法 FACTORY METHOD(二)

 文章评论


认证培训
热门专题       more
相关下载
论坛新帖
博 客