繁体   English   中英

如何在C#中获得这种样式的按钮?

[英]How to get this style of buttons in C#?

在旧版产品中,我们使用Sheridan控件生成如下所示的按钮:

在此输入图像描述

使用VS2005的C#中可以使用这种样式的按钮吗?

按钮查看GUI开发历史的方式受到计算机功能的严重影响。 一切都始于80年代后期的简单矩形,当时是16位操作系统,而视频适配器只能显示16种颜色。 3-D风格在90年代风靡一时,Sheridan是早期的先驱,并被广泛复制。 Threed.ocx是用于获得此样式的Microsoft库。 由视频适配器提供支持,该适配器具有256种颜色,并且具有足够的马力来绘制斜角边缘。 它的一些残余通过BorderStyle属性保留在Winforms中。

到2000年代初Winforms诞生之时,视频适配器就可以显示1600万种颜色,精致的渐变色已成为时尚。 在Winforms按钮的默认样式以及ToolStrip和StatusBar之类的控件中清晰可见。 和Windows视觉样式主题。 这种样式的一个显着缺点是它不容易被覆盖。 Winforms具有四个不同的按钮渲染器(请注意FlatStyle属性),它们都是不能重写的私有类。 他们太复杂了,很难轻易揭露。

这已经绕了整圈,我们现在回到简单的扁平矩形。 在Windows 8中WPF按钮的默认样式和Metro主题中非常明显。该样式不再受计算机功能的影响,但(可能)受CSS(用于给网页赋予样式的语言)的限制所影响。 Winforms也通过FlatStyle和FlatAppearance属性支持它。

尝试复活3D样式并非易事,您必须从头开始创建一个自定义按钮控件,并将ButtonBase作为基类。 并重写OnPaint()以按所需方式绘制按钮。 您是否应该尝试,这是一个非常可疑的问题,3-D风格绝对不流行,并且与停止维护的旧程序联系得太紧密。 不是您在新程序中想要的那种关联。

如果您希望按钮完全一样,是否考虑过将图像用于按钮? 这样,您只需简单地拍摄该样式的图像并将其放入按钮即可。 您可以获得按钮的所有功能,但也可以使按钮看起来像您想要的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM