I wonder if it's possible to add a line to the design in a windows form? I can't find any tool for this in the toolbox? Or is there some other way to do this in visual studio or in code?
There isn't a built-in control for WinForms to do this. You can use the GroupBox
control though, set the Text
property to an empty string, and set it's height to 2
. This will mimic a embossed line. Otherwise, you need to create a custom control and paint the line yourself.
For a custom control, here's an example.
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication12
{
public partial class Line : Control
{
public Line() {
InitializeComponent();
}
private Color m_LineColor = Color.Black;
/// <summary>
/// Gets or sets the color of the divider line
/// </summary>
[Category("Appearance")]
[Description("Gets or sets the color of the divider line")]
public Color LineColor {
get {
return m_LineColor;
}
set {
m_LineColor = value;
Invalidate();
}
}
protected override void OnPaint(PaintEventArgs pe) {
using (SolidBrush brush = new SolidBrush(LineColor)) {
pe.Graphics.FillRectangle(brush, pe.ClipRectangle);
}
}
}
}
It simply fills the ClientRectangle
with the specified LineColor
, so the height and width of the line is that of the control itself. Adjust accordingly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With