我也使用过GroupBox黑客,它得到了基于操作系统边框主题的样式本身的好处。 在VB Power Packs控件集合中还有一个Line类,其中还有一些我们也使用过的好东西。
**Edit:**这是我的Seperator类,用于使用上面提到的方法绘制水平线。
public class Separator : GroupBox
{
// Methods
protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified)
{
base.SetBoundsCore(x, y, width, 3, specified);
}
// Properties
[DefaultValue("")]
public override string Text
{
get
{
return string.Empty;
}
set
{
}
}
}
6条答案
按热度按时间zf9nrax11#
加入具有3D框缐且没有文字的
Label
控件,然后将高度设定为2。c2e8gylq2#
如果您使用SysInternals的ZoomIt工具,您可以看到这只是两条线。深灰色的线在白色的线上。使用Graphics.DrawLine()绘制线条非常简单,您只需要确保选择与窗体的BackColor配合良好的深色即可。如果用户选择了其他主题,这并不总是战舰灰。这使得GroupBox的技巧失败了。
此示例代码可供使用:
请注意,在此代码中使用了
button1
,以确保即使窗体被重新缩放,线条也绘制在正确的高度。选择您自己的控件作为线条的引用。pengsaosao3#
一种方法是创建一个没有标签且高度为0(或者是1,不太记得了)的分组框-我知道我以前用过这个技巧,即使感觉有点笨拙:-)
hsgswve44#
我也使用过GroupBox黑客,它得到了基于操作系统边框主题的样式本身的好处。
在VB Power Packs控件集合中还有一个Line类,其中还有一些我们也使用过的好东西。
**Edit:**这是我的Seperator类,用于使用上面提到的方法绘制水平线。
wnrlj8wa5#
通过添加标签并将其文本设置为下划线“_”,可以获得行分隔符效果
fhg3lkii6#
我编写了一个自定义控件,您可以从
NuGet
安装控件套件:安装后,它将被添加到“工具箱”窗格中。