欢迎光临
我们一直在努力

拥有xp风格的界面-.NET教程,Windows开发

建站超值云服务器,限时71元/月

拥有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: assemblydescription("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,[您的程序名]指的是在 ..\bin\debug 文件夹里生成的可执行程序名 。文件的内容示例如下:您只要根据您在assemblyinfo.cs里所作的设置修改 version="1.0.0.0", name="abc", <description>abc</description> 这几个值就可以了。

<?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="abc"

type="win32" />

<description>abc</description>

<dependency>

<dependentassembly>

<assemblyidentity

type="win32"

name="microsoft.windows.common-controls"

version="6.0.0.0"

processorarchitecture="x86"

publickeytoken="6595b64144ccf1df"

language="*" />

</dependentassembly>

</dependency>

</assembly>

重新编译程序。 注意,从buttonbase,groupbox和label继承下来的组件必须将flatstyle属性设为system。

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

(1)菜单–>文件–>打开,打开..\bin\debug\[您的程序名].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的目的也是为了让系统对组件进行绘制。

默认情况下,系统将使用..\windows\system32目录下的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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 拥有xp风格的界面-.NET教程,Windows开发
分享到: 更多 (0)

相关推荐

  • 暂无文章