怎样做XP风格的控件?

jiavia 2005-02-22 06:54:04
大家好,我想请问用C#在Windows应用程序中和ASP.NET Web程序中(不是IE的滚动条,而是页面上的)怎么样才能作出象XP风格那样的扁平带色彩的"下拉条",滚动条呢?不知能哪位仁兄告诉小弟方法和思路.或者网洛上的相关URL地址.谢谢!!!!!
...全文
184 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hedonister 2005-02-22
  • 打赏
  • 举报
回复
.net framework 所提供的开发控件也太少了,也太难看了,自已画又费时费力也不见得会得出个什么好的效果。如果能够上我们的程序运行在XP环境中能自动应用XP的主题样式那就省时多了,让MICROSOFT给我们去画控件!以下是我所所试验过的解决办法:

1.Application.EnableVisualStyles方法(只适和.NET 1.1及以后版本支持)

在Main方法中执行Application.Run(...)方法前先执行一下Application.EnableVisualStyles()方法,可以让接下来运行的应用程序中的控件自动套用XP的样式。不过有几点要注意:

所有控件都必须保持预设的状态,不能改变其边框样式及背景颜色等属性.如果有System选项的样式属性(如Button的FlatStyle)则必须选择System;

此方法在WIIN2003中可以完全正常运行,但在WIN XP中工具条上的图标会不能显示.(这个也许是XP的BUG,用下种方法可以解决这个问题);

2.加入manifest文件(适合所有WINDOWS应用程序)

在执行文件相同目录中加入一个yourApplicationName.exe.manifest的XML文件,可以迅速实现我们的需求,文件内容如下(加下划线片为需进行适当改变):

<?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="CompanyName.ProductName.YourApp"

type="win32"

/>

Your application description here.



type="win32"

name="Microsoft.Windows.Common-Controls"

version="6.0.0.0"

processorArchitecture="X86"

publicKeyToken="6595b64144ccf1df"

language="*"

/>




我已用这种方法改变很多不同的应用程序,都取得了成功。不过只能套用那些保持着Windows预设属性的控件。它的实现原理是Windows中所有控件都是交给一个ComCtl32.dll的组件来画的。XP以前的最高版本是5.0,XP中带了一个6.0的ComCtl32.dll,我们以上所做的目的就是通知应用程序采用t.6.0的ComCtl32来展示控件.
marvelstack 2005-02-22
  • 打赏
  • 举报
回复
http://www.dotnetmagic.com
http://www.divil.co.uk
http://www.componentone.com
yizhixiaozhu 2005-02-22
  • 打赏
  • 举报
回复
ddd
hs_tang7788 2005-02-22
  • 打赏
  • 举报
回复
UP
kimhenry 2005-02-22
  • 打赏
  • 举报
回复
设置控件的flatstyle属性为system,然后放一个配置文件到可执行文件下面就行了,名字要起成 xxxx.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="SMX"
type="win32"
/>
<description>Server Management Tool</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
DeltaCat 2005-02-22
  • 打赏
  • 举报
回复
aa2004 2005-02-22
  • 打赏
  • 举报
回复
mark
大熊猫侯佩 2005-02-22
  • 打赏
  • 举报
回复
http://www.tingyou.net/detail.asp?blog_id=6&content_id=51&cat_id=10&pageno=6

http://www.nb321.com/phppost11/php86608.htm
athossmth 2005-02-22
  • 打赏
  • 举报
回复
www.stedy.com

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧