Thursday, November 27

有开发winform经验的人都知道,要想使程序在windows XP下真正拥有XP风格,需要按照下面这篇文章所说的去做。The Code Project - Windows XP Visual Styles for Windows Forms - C# Programming
首先如果你的画面上有Button,CheckBox,RadionBox,GroupBox的话,需要改变他们属性FlatStyle为System,然后追加一个manifest文件到exe文件的同一个路径下。就像App.config文件那样。

当然,在.Net Framework 1.1下,你可以不必这么麻烦,只需要加一句Application.EnableVisualStyles();就可以了。

遗憾的是,我再做的项目要用1.0,在1.0里可没有这么方便了。

我有10几个小winform程序都需要这样做,所以我首先想到建立一个模板。就像往项目里追加一个app.config一样。我仿照app.config模板作法,复制一个模板,修改里面的app.config成app.manifest文件。改好的模板放在这里了。

AppXPStyle.zip

我在修改C:\Program Files\Microsoft Visual Studio .NET\Vb7\VBProjectItems\Local Project Items\Utility\LocalUtilityProjectItems.vsdir以后可以追加manifest进入项目了,但是文件名变成了App1.manifest,而且编译以后,它不会同App.config一样被改名,拷贝到exe所在的文件夹下。
App.config真是一个magic file啊,VS是怎么做的?

我改变想法,考虑用macro来自动生成manifest,可是不知道如何得到当前所在的project,以及它生成的exe文件的路径。:s


No comments: