2

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

在此处输入图像描述

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

4

2 回答 2

7

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

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

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

尝试恢复 3-D 样式并不容易,您必须从头开始创建一个自定义按钮控件,并将 ButtonBase 作为基类。并覆盖 OnPaint() 以按照您想要的方式绘制按钮。您是否应该尝试一下是非常值得怀疑的,3-D 风格肯定已经过时,并且与停止维护的旧程序密切相关。不是您在新程序中想要的那种关联。

于 2012-08-26T12:48:44.210 回答
0

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

于 2012-08-26T23:53:46.193 回答