返回首页

{S0}简介
本文演示了如何使用WindowsVist​​aRenderer,它是如何创建的。背景
你不要错过了几行绘制一个按钮时,显示3D效果的天吗?绘制一个按钮,只要画光的边界和阴影边界的简单。那些日子已经一去不复返了。 Vista中已经到来,我们的旧的应用程序可能需要更新。
第一次看你像那些在Vista上的按钮的外观和感觉,你必须感到头晕目眩。如何得出这样的按钮?事实证明,这是不是这样一个伟大的交易。我花了一段时间才能完全理解如何绘制这些按钮,但我认为结果是一个好方法。使用代码
感谢上帝ToolStripRenderer技术。
要使用这个渲染一个ToolStrip你只需要一行代码:

//

// Apply Windows Vista look and feel

//



toolStrip1.Renderer = new Renderers.WindowsVistaRenderer();

渲染器初始化ToolStrip的必要的属性,除了LayoutStyle的财产,我建议是默认Horizo​​ntalStackWithOverflow,否则工具栏可能看起来丑陋在某些情况下。
源解决方案,包含一个名为提炼项目。引用DLL到您的项目或将源文件复制到您的项目。如何绘制该按钮
正如我以前说过,老派的按钮很容易地得出: {S2}
整个想法是使用户认为他或她是真正按下一个按钮,当点击阴影倒,文字X和Y上的一个像素一个像素推,和点击效果。
Vista的按钮的方式更加复杂。我发现不同的层上的按钮,绘图。国界
三个圆角矩形作为边境淹死,我叫他们的外边框,边界和内部边界。{S3}镜面效果
镜面效果上绘制按钮的北部。绿色代表一个几乎透明的颜色。的辉光
径向渐变模拟一个按钮南部的色彩焕发。绿色代表几乎tansparent颜色。{五}按钮填写
类似镜面效果,强调的是内心的边境地区从北到南与线性按钮填写。全部放在一起
现在,我们得出这些层的顺序是至关重要的。 ,顺序是:外边框按钮的背景颜色(如果按钮被选中)镜面效果边框按钮填写光泽强调内蒙古边境辉光文本和图像的按钮{中六}其他一些细节
要创建的点击效果,内边框的颜色和按钮,填写被改变。当点击,文字不推,像昔日的一个像素。
选中时,背景颜色按钮的变化。这种颜色的MediaPlayer标签中提取。
为了使一个完整的Vista的经验组件的工具栏,菜单使用Windows Vista的外观和感觉绘制。积分
感谢{A}创建圆角矩形和底部的径向路径的方法。历史2007年10月15日:创造条2007年10月25日:解决递归子项的初始化(rvpilot建议)2007年11月21日:ComboBox控件和TextBox支持。更好地溢出雪佛龙公司。2007年11月23日:将MenuStrip支持。

回答

评论会员:Vercas 时间:2011/12/15
我对此甚至不关心,如果你不编译的二进制文件,以证明
我厌倦了每个人的项目的提取,转换和编译
评论会员:。Vercas 时间:2011/12/15
多德,寒意。本文介绍的技术不够好,你甚至不下载任何东西。
J
评论会员:stax76 时间:2011/12/15
对于有人在急于得到控制(像我),这是一个杀人犯
评论会员:。Unruled男孩 时间:2011/12/15
有谁知道如果有一个与Windows 7主题的渲染和NET 4.0中包括渲染器与Vista和Windows 7主题
评论会员:?Unruled男孩 时间:2011/12/15
当切换回默认的渲染器​​(ToolStripProfessionalRenderer):

FooToolStrip.Renderer =新ToolStripProfessionalRenderer

高度不设置回默认(28px),它仍然是非常高(远远超过28px),字体颜色不重新设置为系统默认(黑色),它仍然是白色的。

的问候,
unruledboy_at_gmail_dot_com
http://www.xnlab.com
评论会员:JoeFisher71 时间:2011/12/15
检查快照



的问候,
unruledboy_at_gmail_dot_com
http://www.xnlab.com
评论会员:Katekortez 时间:2011/12/15
我转换你的渲染vb.net和改变你的菜单(纳入同一按钮的颜色和一个透明的圆形按钮,当鼠标悬停项目),增加了一个Vista窗体的背景下,创造了一个Vista的按钮。你介意如果我张贴了我的代码,如果我给你你的代码
评论会员:?marclenoir2005 时间:2011/12/15
但绝对没有问题,只要你提到我的工作

问感谢

记得送我的文章的链接!展望未来,才能看到它。

JM
www.menendezpoo.com
评论会员:Omnicoder 时间:2011/12/15
垃圾邮件中删除
评论会员:会员3144945 时间:2011/12/15
您好圣何塞

我想如果此按钮也可用VB 2005年或2008年。

2),比方说,我使用的是VB 2005年,我怎么能创造这种使用代码2005年
按钮
关于
评论会员:Dogcow农民 时间:2011/12/15
其实,在VS 2005的文章中提供的代码是

如果你想在VB中的源代码,我强烈建议使用Lutz Roeder的。NET的反射uncompile VB模式。
感谢

JM
评论会员:安装 时间:2011/12/15
这个法律是在商业应用程序?
评论会员:JonathanVQP 时间:2011/12/15
控制看起来非常好。是否有任何方法来实现相同的外观和感觉在asp.net网页{七}
评论会员:Dogcow农民 时间:2011/12/15
使用图像。不褪色,但它的作品。

"Cookie是美味佳肴。" - Mozilla基金会
评论会员:dimzon 时间:2011/12/15
您好,
第一:你的项目是伟大的!BR}
我的问题:
我的程序一个开源的控件库,Windows Vista的所有控制包含一个用于播放媒体文件库。我会用你的源代码稍加修改,在这些项目中(唯一的命名空间和类名)。
我能这样做吗?

我的网站:朱利安w.de

(对不起,我不好英语,我从德国了)
评论会员:mofle 时间:2011/12/15
很好的工作,至少是未充分利用的WinForms,当它来为图形。最大的问题是,
1)需要大量的代码做与WPF
相比2)它变得更难当您尝试皮肤像DataGridView中的所有其他控件,面板等是必不可少的,如果你想有一个完整的应用程序。看在],看到大量的工作,它需要创建完整的WinForms applicatios。这是一个项目由1个家伙
评论会员:dimzon 时间:2011/12/15
我可以这样做只是一种形式,命令,而不是按钮的ToolStrip?
评论会员:mofle 时间:2011/12/15
设置一个按钮的ToolStrip的Dock属性为none,移到该处。

"Cookie是美味佳肴。" - Mozilla基金会
评论会员:The_Mega_ZZTer 时间:2011/12/15
我在vb.net翻译。我可以上传或发送电子邮件给你做呢?

- 5:56(星期二)2007年11月,27日
修改
评论会员:mofle 时间:2011/12/15
实际上,如果你需要性感和精美的UI正义之举,而不是到WPF的WinForms