快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

net应用程序如何批上XP的外衣?

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#消息队列应用程序 -2
下一教程: .NET 2.0 基础类库中的范型??范型集合

您可以阅读与"net应用程序如何批上XP的外衣?"相关的教程:
· .NET客户端应用程序:.NET应用程序更新组件(5)
· 使用.NET CF开发Smartphone应用程序 FAQ
· .Net平台下开发英文语音应用程序
· 我的.Net下应用程序发布问题的简易解决方案
· 让用户通过宏和插件向您的 .NET 应用程序添加功能
    微笑服务 优质保证 索取样品