在VS2010中,我应该在哪里找到水平分隔符控件?就像在Outlook设置中一样(请参阅下面的截图)?
https://jira.atlassian.com/secure/attachment/14933/outlook+settings.jpg http://www.keithfimreite.com/Images/OutlookSettings3.gif
注意:最好用VB.NET,但C#也可以。
在VS2010中,我应该在哪里找到水平分隔符控件?就像在Outlook设置中一样(请参阅下面的截图)?
https://jira.atlassian.com/secure/attachment/14933/outlook+settings.jpg http://www.keithfimreite.com/Images/OutlookSettings3.gif
注意:最好用VB.NET,但C#也可以。
如果我没记错的话,那只是一个线控件,但我认为这个控件已经不存在了。这里提供了一种解决方法。
label1.AutoSize = False
label1.Height = 2
label1.BorderStyle = BorderStyle.Fixed3D
虽然这个问题已经有了答案,但我发现以下内容部分地基于 smoore 的回答解决了我的需求。
创建一个新的控件。将代码编辑为以下内容:
public partial class Line : Label
{
public override bool AutoSize
{
get
{
return false;
}
}
public override Size MaximumSize
{
get
{
return new Size(int.MaxValue, 2);
}
}
public override Size MinimumSize
{
get
{
return new Size(1, 2);
}
}
public override string Text
{
get
{
return "";
}
}
public Line()
{
InitializeComponent();
this.AutoSize = false;
this.Height = 2;
this.BorderStyle = BorderStyle.Fixed3D;
}
}
用控件的类名替换Line。 这将放置一个分隔符,允许您在设计器中调整大小并禁用添加文本,更改自动调整大小会强制大小的高度为2,宽度为任何您想要的值,并禁用添加文本。
实际上,它并没有包含在标准控件集中(我很确定它曾经在那个年代里存在过!),但您可以轻松创建自己的控件或通过使用无文本和高度为1px的GroupBox来欺骗系统。
使用UserControl提供相同功能的方法:(非本人编写,来源:http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/0d4b986e-3ed0-4933-a15d-4b42e02005a7/)
public partial class LineSeparator:UserControl
{
public LineSeparator()
{
InitializeComponent();
this.Paint += new PaintEventHandler(LineSeparator_Paint);
this.MaximumSize = new Size(2000, 2);
this.MinimumSize = new Size(0, 2);
this.Width = 350;
}
private void LineSeparator_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.DrawLine(Pens.DarkGray, new Point(0, 0), new Point(this.Width, 0));
g.DrawLine(Pens.White, new Point(0, 1), new Point(this.Width, 1));
}
}
Install-Package ALMSTWKND -Version 1.0.0