返回列表 回复 发帖

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。
其内容如下:
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <assembly
  3.     xmlns="urn:schemas-microsoft-com:asm.v1"
  4.     manifestVersion="1.0">
  5.     <assemblyIdentity
  6.         version="1.0.0.0"
  7.         processorArchitecture="X86"
  8.         name="WinXpApp"
  9.         type="win32" />
  10.     <description>WinXpApp</description>
  11.     <dependency>
  12.         <dependentAssembly>
  13.             <assemblyIdentity
  14.                 type="win32"
  15.                 name="Microsoft.Windows.Common-Controls"
  16.                 version="6.0.0.0"
  17.                 processorArchitecture="X86"
  18.                 publicKeyToken="6595b64144ccf1df"
  19.                 language="*" />
  20.         </dependentAssembly>
  21.     </dependency>
  22. </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
哈哈,不错。顶一个!
谢谢分享啊~~~~辛苦了!!!!谢谢分享啊~~~~辛苦了!!!!谢谢分享啊~~~~辛苦了!!!!
没用过呢////////////
/
好玩..嘿嘿
返回列表