这是什么控制?是不是组合框!

时间:2011-02-04 11:41:45

标签: .net winforms controls ui-design

对下面显示的控件感到好奇,旁边带有标签的直线。我试图为它找到一个类似的控件但是没有任何组框设置,所以我只是制作了一个高度为2的GroupBox来复制它。

但是有实际的控制或设置吗?什么是实际控制?

Internet Options property dialog

2 个答案:

答案 0 :(得分:10)

Spy++告诉我们这些实际上是两个独立的STATIC controls(类似于WinForms中的Label。)

  • 第一个是简单的常规静态文本控件,显示“主页”。

  • 第二个设置了SS_ETCHEDHORZ style,这使得它作为3D线绘制。不幸的是,在WinForms中没有向我们展示设置此样式的能力。

正如您在问题中所提到的,有一些黑客/解决方法可以让我们实现类似的外观,例如垂直压缩GroupBox控件或覆盖{{1}的OnPaint方法控制并使用Label类绘制3D边框。他们工作,但我从来没有喜欢过他们。

可以自己实际设置ControlPaint样式,以便您可以完全复制本机UI。这是一个完全相同的小班。将它添加到您的项目中,编译,您应该会在工具箱中看到一个名为“Horizo​​ntalRule”的新控件。像使用任何其他控件一样使用它!

SS_ETCHEDHORZ

您还可以找到更详细的信息和其他示例代码here on CodeProject

答案 1 :(得分:0)

几年前我遇到了同样的问题,最后为此目的画了一条线。

事实上,我甚至使用了一个足够宽的固定线图像,因此可以通过显示图像所需的部分(宽度)在所有情况下使用它。

从那以后,这个解决方案对我来说很好。