如何在C#中获得这种风格的按钮?

时间:2012-08-26 06:28:00

标签: c# button visual-studio-2005

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

enter image description here

使用VS2005在C#中可以使用这种按钮吗?

2 个答案:

答案 0 :(得分:7)

按钮查看GUI开发历史的方式受到机器功能的严重影响。这一切都始于八十年代后期的简单矩形,当操作系统为16位时,视频适配器只能显示16种颜色。三维风格在九十年代变得流行,谢里登是早期的先驱,并被广泛复制。 Threed.ocx是一个获得这种样式的Microsoft库。视频适配器能够提供256种颜色和足够的马力来绘制斜边。它的一些残余部分通过BorderStyle属性保存在Winforms中。

当Winforms开始时,2000年初,视频适配器可以显示1600万种颜色,精致的渐变成为时尚。在Winforms按钮的默认样式以及ToolStrip和StatusBar等控件中清晰可见。和Windows视觉风格主题。这种造型的一个显着缺点是它不容易被覆盖。 Winforms有四个不同的按钮渲染器(注意FlatStyle属性),它们都是无法覆盖的私有类。它们太复杂,容易暴露。

这已经完全循环,我们现在回到简单的扁平矩形。 WPF按钮的默认样式和Windows 8中的Metro主题非常引人注目。不再受机器功能的影响,但(可能)CSS的局限性,CSS是用于为网页提供样式的语言。 Winforms也通过FlatStyle和FlatAppearance属性支持它。

尝试恢复3-D风格并不容易,你必须从头开始创建一个自定义按钮控件,ButtonBase作为基类。并覆盖OnPaint()以按您希望的方式绘制按钮。你是否应该尝试是非常值得怀疑的,3-D风格肯定是不流行的,并且与停止维护的旧程序关系太强烈。不是你想要在一个新程序中的那种关联。

答案 1 :(得分:0)

如果您希望按钮完全相同,您是否考虑使用图像作为按钮?这样你就可以简单地拍下那种风格的图像并将其变成一个按钮。你可以获得一个按钮的所有功能,但你也可以看起来像你想要的那样。