.net应用程序如何批上XP的外衣?
来源:互联网 发布:mysql增删改查 面试 编辑:程序博客网 时间:2024/05/01 09:48
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来展示控件.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jingbin613/archive/2008/03/06/2153116.aspx
- net应用程序如何批上XP的外衣?
- .net应用程序如何批上XP的外衣?
- .net应用程序如何批上XP的外衣?
- .net应用程序如何批上XP的外衣?
- .net应用程序如何批上XP的外衣?
- .net应用程序如何批上XP的外衣?
- .net应用程序如何批上XP的外衣?
- 为.NET程序批上WPF的绚丽外衣
- 为.NET程序批上WPF的绚丽外衣
- 为.NET程序批上WPF的绚丽外衣
- 应用程序外衣下的恶意软件
- ★ .net应用程序如何表现XP风格?
- 为.NET程序披上WPF的绚丽外衣
- 编写适用于 Windows XP Embedded 的 .NET Framework 应用程序
- 让您写的VC6.0程序在WindowsXP中拥有XP风格的外衣
- 在Windows XP Professional 上用 Visual Studio .NET 编写应用程序
- 在 Windows XP Professional 上用 Visual Studio .NET 编写应用程序
- 在 Windows XP Professional 上用 Visual Studio .NET 编写应用程序
- firefox+plugin+jre
- VS2005的安装与部署(WEB应用程序
- oracle数据文件丢失处理方法一(测试)
- 多个字段的in 和 not in 及其替代写法(exists,not exists)
- 2.1.3 Kernel command line: ro root=/dev/hda1
- .net应用程序如何批上XP的外衣?
- 人生的34个好习惯,共勉
- 希尔排序 实现
- Win7 下 VS2008 SP1 KB945140 安装失败 解决方法
- 将现有的Access数据库升级为SQL数据库
- 内核命令处理
- Fedora12 Linux启动过程
- UNIX环境高级编程学习之第十二章线程控制-可重入(线程安全)的getenv方法
- 正则表达式