必威注册电子书籍教程中心网文荟萃客户留言繁體中文
设为首页
加入收藏
联系必威注册
您当前的位置:必威注册 -> 教程中心 -> 编程经验 -> JAVA DotNet -> 教程内容 退出登录 用户管理
栏目导航
· Visual Basic· Delphi
· Visual C++· C++ Builder
· JAVA DotNet· 其他相关
热门教程
· 如何在Visual Basic...
· 使用Visual Basic操...
· 使用VB6.0设计Activ...
· VB动态调用外部函数...
· 建立一个程序员自己...
· 如何编写高质量的VB...
· [图文] 为更新到Visual Bas...
· 再谈在VB中调用VC++...
· 用VB语言编程实现JP...
· 用DTS实现SQL数据库...
相关教程
· 新SP2漏洞,黑客远程...
· [组图] 操作系统下,WinXP轻...

轻而易举拥有xp风格的界面
作者:佚名 来源:必威注册 发布时间:2005-12-29 18:02:34 发布人:admin

减小字体 增大字体


轻而易举拥有xp风格的界面

Windows XP发布时,必威注册中许多人都为她华丽漂亮的界面折服和兴奋。然而,.NET1.0发布时,我们中又有许多人,包括我自己,对它不支持XP风格感到大失所望。可事实是,在Windows XP(只限于WindowsXP)里.NET支持XP风格,只是还要您做一点小工作。

这篇文章主要参考了http://www.codeproject.com/csharp/dotnetvisualstyles.asp
跟随下面的步骤,使您的程序拥有XP风格的界面,GO!

1. 新建一个Windows应用程序,然后打开AssemblyInfo.cs,修改一下内容,下面的是示例代码:
using System.Reflection;
using System.Runtime.CompilerServices;

[assembly: AssemblyTitle("abc")]
[assembly: AssemblyDes cription("abc")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]

2. 往项目添加新项。新添加一个XML文件,将文件命名为 [您的程序名].exe.manifest,[您的程序名]指的是在 ..bindebug 文件夹里生成的可执行程序名 。文件的内容示例如下:您只要根据您在AssemblyInfo.cs里所作的设置修改 version="1.0.0.0", name="abc", abc 这几个值就可以了。


xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
version="1.0.0.0"
processorArchitecture="X86"
name="abc"
type="win32" />
abc


type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*" />


重新编译程序。 注意,从ButtonBase,GroupBox和Label继承下来的组件必须将FlatStyle属性设为System。

3. 将 [您的程序名].exe.manifest 文件添加到程序的可执行文件

(1)菜单-->文件-->打开,打开..bindebug[您的程序名].exe,现在您可以看到一个资源浏览树;
(2)右击根目录[您的程序名],单击"添加资源...";
(3)在跳出的对话框中单击“自定义...”;
(4)将资源类型命名为RT_MANIFEST,确定;
(5)双击资源树的RT_MANIFEST下的项(一般情况下是101),Copy 文件 [您的程序名].exe.manifest 的内容,粘贴在打开的文件中,粘贴的结果是二进制形式(结果有点奇怪,不用理会);
(6)保存,然后将101项的ID改为1,再保存。注意,不要重新对程序进行编译。

现在,重新打开您的程序,怎么样,界面应该不错吧。

原理:
问题的关键在于comctl32.dll。您搜索一下您的计算机,将发现有两个comctl32.dll。组件的外观就与这两个DLL中的特定资源相联系,它们提供特定的资源用于组件客户区域的绘制。对于继承于ButtonBase,GroupBox和Label的组件,将它们的FlatStyle属性设为System的目的也是为了让系统对组件进行绘制。
默认情况下,系统将使用..WindowsSystem32目录下的DLL,您需要做的工作就是告诉系统使用另一个DLL,这就是将 [您的程序名].exe.manifest 文件 添加到可执行文件的目的。
下面是支持XP风格的组件完整列表:
Label,TextBox, RichTextBox, HScrollBox, VScrollBox, ProgressBar, TabControl, MainMenu, ComboBox, ContextMenu, DataGrid, ListBox, ListView, TreeView, DataTimePicker, MonthCalendar, Splitter,TrackBar, StatusBar, ToolBar


[] [返回上一页] [打 印] [收 藏]
下一篇教程:用Asp.Net 来发送E-mail
∷相关教程评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图 - 管理登录
Copyright 2019 必威注册. All Rights Reserved .
浙ICP备05047688号