社区
C#
帖子详情
求助,如何显示xp风格的界面
wangsifan
2004-12-27 02:56:07
我在windows2000系统下用c#开发,我想使界面中的控件以xp风格显示,
从网上下载的资料我试了一下,好像实现不了这功能。
...全文
230
7
打赏
收藏
求助,如何显示xp风格的界面
我在windows2000系统下用c#开发,我想使界面中的控件以xp风格显示, 从网上下载的资料我试了一下,好像实现不了这功能。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xq02
2005-01-05
打赏
举报
回复
。。。
yangki
2005-01-05
打赏
举报
回复
使用第三方的界面库。
chenxing80
2005-01-05
打赏
举报
回复
mark
marvelstack
2004-12-28
打赏
举报
回复
www.dotnetmagic.com
www.divil.co.uk
http://www.componentone.com
oyljerry
2004-12-27
打赏
举报
回复
subclass
hanbinghai
2004-12-27
打赏
举报
回复
windows2000系统下使界面中的控件以xp风格显示?
你只能自己动手写
linlinunix
2004-12-27
打赏
举报
回复
拥有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
==========================================================================
肯定能够实现 我试过了耐心些
vc中实现
xp
风格
界面
关于让自己的程序
界面
实现
XP
风格
这个问题,在网上的讨论很多,大多数的作法都是写一个.manifest文件,然后将文件名改一下,比如.exe文件为test.exe,就将这个.manifest文件改名成test.exe.manifest,并将其和test.exe放在同一个目录里,这样test.exe在
XP
或2003(必须启动Themes服务)下运行时就会呈现
XP
界面
风格
。 有件事情必须说一下,按
VC6无负担实现
XP
风格
界面
VC6无负担实现
XP
风格
界面
关于让自己的程序
界面
实现
XP
风格
这个问题,在网上的讨论很多,大多数的作法都是写一个.manifest文件,然后将文件名改一下,比如.exe文件为test.exe,就将这个.manifest文件改名成test.exe.manifest,并将其和test.exe放在同一个目录里,这样test.exe在
XP
或2003(必须启动Themes服务)下运行时就会呈现
XP
界
迅速使你的程序拥有Windows
XP
界面
风格
是否,你曾为自画个性菜单发过愁呢?是否,你曾为自画的控件整体
风格
不统一很苦恼呢?是否,你曾为寻找第三方SKINS控件很挠头呢?如果你正在这样做,正在自画菜单,正在寻找并使用第三方skins控件,那么赶快挺手吧!因为---------->Windows
XP
即将面世!Windows
XP
的出现使计算机彻底进入了一个多姿多彩的世界。Windows
XP
的出现使程序员们不必再
在Win
XP
环境下
显示
XP
风格
的控件
首先我们建立自己的Windows Application,然后拖拽一个按钮(Button),一个进度条(ProgressBar),一个组合框(ComboBox),一个单选框(RadioButton)和一个复选框(CheckBox)。这样,如果我们的程序在Windows
XP
系统下面运行,那么就会自动
显示
Windows
XP
的效果。实际上通过简单的设置,就可以让我们的程序在Windows
XP
下面
显示
为新的程序外观。之后我们在我们应用程序的文件目录建立一个manifest文件。编辑这个文件的内容。
Visual C++ 6.0中实现
XP
风格
的程序
界面
。
本文中所用到的方法从网上得到,时间长了找不到最终出处。就不写引用地址了:-)两种样式的对话框如图所示:对Visual C++ 6.0的程序实现
XP
样式有两种方法:第一种方法:它不仅对Visual C++ 6.0写的程序管用,对其它以前已经编写的在
XP
界面
下
显示
为旧样式的程序同样有效。将下面文本保存为yourapp.exe.manifest,放于你应用程序同一个文件夹中再打开看看,是不是程序的
界面
跟原来看起来有所不同! 这里要注意的是yourapp为你的应用程序的名字。
C#
111,129
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章