一.引子
VS中没有了VB中的线条控件,虽然我没有用过VB,不过却看到过这个控件在VB环境下的效果.在一些情况下,或许我们还真的要用到这样的控件,那么索性就自己写了一个.
二.设计时效果
三.运行时效果
四.简单谈谈实现思路
因为实现的比较简单,所以只是通过设置一个角度的属性来调整整个线条的倾斜角度,同时使用一个路径来记录这个线条的4个端点,最后将控件的Region属性设置为该路径决定的Region.就这么简单.呵呵.
五.部分源代码
private int _lineWidth = 10;//线宽
private float _angle = 0; //角度
private int _lineLength ;
private Color _lineColor = Color.Black;
/**//// <summary>
/// 线宽
/// </summary>
[Category("Jcs属性"),Description("线宽")]
public int LineWidth
...{
get ...{ return _lineWidth; }
set
...{
_lineWidth = value;
this.Invalidate();
RefreshSize();
}
}
[Category("Jcs属性"), Description("线长")]
public int LineLength
...{
get ...{ return _lineLength; }
set
...{
_lineLength = value;
this.Invalidate();
RefreshSize();
}
}
[Category("Jcs属性"), Description("角度,注意:以角度计算。")]
public float LineAngle
...{
get ...{ return _angle; }
set
...{
if (value > 360 || value < 0)
throw new Exception("输入的角度范围越界。");
this._angle = value;
this.Invalidate();
RefreshSize();
}
}
[Category("Jcs属性"), Description("线条颜色。")]
public Color LineColor
...{
get ...{ return _lineColor; }
set
...{
_lineColor = value;
this.Invalidate();
}
}
自定义线条控件
本文介绍了一种在Visual Studio环境中自定义线条控件的方法。该控件可通过设置宽度、长度、角度及颜色等属性实现不同样式线条的绘制,并通过简单的路径记录与区域设置实现了灵活的倾斜角度调整。

被折叠的 条评论
为什么被折叠?



