VS.NET2003设计XP界面风格的程序
VS.NET2003发布时,其设计的程序不直接支持XP界面风格。本文说明如何在Windows XP(只限于WindowsXP)里设计支持XP风格的.NET程序。
1.新建C#工程,假设工程名为WinApp5。随意加入一些控件,生成可执行文件 WinApp5/bin/debug/WinApp5.exe。
2.新建一个XML文件,文件命名为[您的程序名].exe.manifest,即WinApp5.exe.manifest。
其内容如下:
<?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="WinXpApp"
type="win32" />
<description>WinXpApp</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*" />
</dependentAssembly>
</dependency>
</assembly>
3将该XML文件拷贝至Debug目录,运行WinApp5程序,应该就可以看到XP界面风格了。
4.程序发布时这个XML文件必须形影不离,比较麻烦,所以最好将其加入资源。
(1)运行VS.NET2003。
(2)运行:菜单->文件->打开->文件,打开WinApp5.exe和WinApp5.exe.manifest。
(3)全选manifest文件内容,并复制(Ctrl_C)。然后关闭该文件。
(4)在WinApp5.exe文件的资源浏览树窗口,单击右键并选择"添加资源...";
(5)在跳出的对话框中单击“自定义...”;
(6)将资源类型命名为RT_MANIFEST,确定;
(7)双击资源树的RT_MANIFEST下的项(一般情况下是101),粘贴(Ctrl+V)刚刚拷贝的 WinApp5.exe.manifest 的内容,粘贴的结果是二进制形式(结果有点奇怪,不用理会);
(8)然后将101项的ID改为1,再保存。注意,不要重新对程序进行编译。
(9)删除WinApp5.exe.manifest文件,再重新打开您的程序,可以看到仍然是XP风格。
5. 说明
(1)部分控件具有FlatStyle属性的,必须将其设为System。
(2)该程序仅在WinXP下呈现XP界面风格,在其它操作系统下依附系统界面主题。
(3)程序调试时用Manifest文件方法调试,程序发布时再将其加入资源。
(4)该方法对大部分程序都适用,例如以前用VC6开发的程序。
(5)下面是支持XP风格的组件完整列表:
Label,TextBox, RichTextBox, HScrollBox, VScrollBox, ProgressBar, TabControl, MainMenu, ComboBox, ContextMenu, DataGrid, ListBox, ListView, TreeView, DataTimePicker, MonthCalendar, Splitter,TrackBar, StatusBar, ToolBar
VS.NET2003发布时,其设计的程序不直接支持XP界面风格。本文说明如何在Windows XP(只限于WindowsXP)里设计支持XP风格的.NET程序。
1.新建C#工程,假设工程名为WinApp5。随意加入一些控件,生成可执行文件 WinApp5/bin/debug/WinApp5.exe。
2.新建一个XML文件,文件命名为[您的程序名].exe.manifest,即WinApp5.exe.manifest。
其内容如下:
<?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="WinXpApp"
type="win32" />
<description>WinXpApp</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*" />
</dependentAssembly>
</dependency>
</assembly>
3将该XML文件拷贝至Debug目录,运行WinApp5程序,应该就可以看到XP界面风格了。
4.程序发布时这个XML文件必须形影不离,比较麻烦,所以最好将其加入资源。
(1)运行VS.NET2003。
(2)运行:菜单->文件->打开->文件,打开WinApp5.exe和WinApp5.exe.manifest。
(3)全选manifest文件内容,并复制(Ctrl_C)。然后关闭该文件。
(4)在WinApp5.exe文件的资源浏览树窗口,单击右键并选择"添加资源...";
(5)在跳出的对话框中单击“自定义...”;
(6)将资源类型命名为RT_MANIFEST,确定;
(7)双击资源树的RT_MANIFEST下的项(一般情况下是101),粘贴(Ctrl+V)刚刚拷贝的 WinApp5.exe.manifest 的内容,粘贴的结果是二进制形式(结果有点奇怪,不用理会);
(8)然后将101项的ID改为1,再保存。注意,不要重新对程序进行编译。
(9)删除WinApp5.exe.manifest文件,再重新打开您的程序,可以看到仍然是XP风格。
5. 说明
(1)部分控件具有FlatStyle属性的,必须将其设为System。
(2)该程序仅在WinXP下呈现XP界面风格,在其它操作系统下依附系统界面主题。
(3)程序调试时用Manifest文件方法调试,程序发布时再将其加入资源。
(4)该方法对大部分程序都适用,例如以前用VC6开发的程序。
(5)下面是支持XP风格的组件完整列表:
Label,TextBox, RichTextBox, HScrollBox, VScrollBox, ProgressBar, TabControl, MainMenu, ComboBox, ContextMenu, DataGrid, ListBox, ListView, TreeView, DataTimePicker, MonthCalendar, Splitter,TrackBar, StatusBar, ToolBar
loading...
浙公网安备 33010602011771号