C#画线控件的应用实例介绍之前我们要明白在C#中没有画线的控件,这里写了一个,大家分享。共有两个控件分别是画横线和画竖线的,关于怎么画斜线有兴趣的可以做一个大家分享。
C#画线控件之横线
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Drawing;
usingSystem.Data;
usingSystem.Windows.Forms;
namespaceJiashi.WinControls
{
///
///LineX画横线控件
///
publicclassLineX:System.Windows.Forms.UserControl
{
#region属性定义
privateSystem.Drawing.ColorlineColor;
privateintlineWidth;
///
///线的颜色属性
///
publicSystem.Drawing.ColorLineColor
{
set
{
this.lineColor=value;
System.Windows.Forms.PaintEventArgsep=
newPaintEventArgs(this.CreateGraphics(),
this.ClientRectangle);
this.LineX_Paint(this,ep);
}
get{returnthis.lineColor;}
}
///
///线的粗细
///
publicintLineWidth
{
set
{
this.lineWidth=value;
System.Windows.Forms.PaintEventArgsep=
newPaintEventArgs(this.CreateGraphics(),
this.ClientRectangle);
this.LineX_Paint(this,ep);
}
get{returnthis.lineWidth;}
}
#endregion
privateSystem.ComponentModel.Containercomponents=null;
///
///构造函数初始颜色和线粗细
///
publicLineX()
{
InitializeComponent();
this.lineColor=this.ForeColor;
this.lineWidth=1;
}
///
///清理所有正在使用的资源。
///
protectedoverridevoidDispose(booldisposing)
{
if(disposing)
{
if(components!=null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#region组件设计器生成的代码
///
///设计器支持所需的方法-不要使用代码编辑器
///修改此方法的内容。
///
privatevoidInitializeComponent()
{
//
//LineX
//
this.Name="LineX";
this.Resize+=newSystem.EventHandler(this.LineX_Resize);
this.Paint+=
newSystem.Windows.Forms.PaintEventHandler(this.LineX_Paint);
}
#endregion
privatevoidLineX_Paint(objectsender,
System.Windows.Forms.PaintEventArgse)
{
Graphicsg=e.Graphics;
PenmyPen=newPen(this.lineColor);
myPen.Width=this.lineWidth*2;
this.Height=this.LineWidth;
g.DrawLine(myPen,0,0,e.ClipRectangle.Right,0);
}
privatevoidLineX_Resize(objectsender,System.EventArgse)
{
this.Height=this.lineWidth;
}
}
}
C#画线控件之竖线
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Drawing;
usingSystem.Data;
usingSystem.Windows.Forms;
namespaceJiashi.WinControls
{
///
///LineY画竖线控件
///
publicclassLineY:System.Windows.Forms.UserControl
{
#region属性定义
privateSystem.Drawing.ColorlineColor;
privateintlineWidth;
///
///线的颜色属性
///
publicSystem.Drawing.ColorLineColor
{
set
{
this.lineColor=value;
System.Windows.Forms.PaintEventArgsep=
newPaintEventArgs(this.CreateGraphics(),
this.ClientRectangle);
this.LineY_Paint(this,ep);
}
get{returnthis.lineColor;}
}
///
///线的粗细
///
publicintLineWidth
{
set
{
this.lineWidth=value;
System.Windows.Forms.PaintEventArgsep=
newPaintEventArgs(this.CreateGraphics(),
this.ClientRectangle);
this.LineY_Paint(this,ep);
}
get{returnthis.lineWidth;}
}
#endregion
privateSystem.ComponentModel.Containercomponents=null;
///
///构造函数初始颜色和线粗细
///
publicLineY()
{
InitializeComponent();
this.lineColor=this.ForeColor;
this.lineWidth=1;
}
///
///清理所有正在使用的资源。
///
protectedoverridevoidDispose(booldisposing)
{
if(disposing)
{
if(components!=null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#region组件设计器生成的代码
///
///设计器支持所需的方法-不要使用代码编辑器
///修改此方法的内容。
///
privatevoidInitializeComponent()
{
//
//LineY
//
this.Name="LineY";
this.Resize+=
newSystem.EventHandler(this.LineY_Resize);
this.Paint+=
newSystem.Windows.Forms.PaintEventHandler(this.LineY_Paint);
}
#endregion
privatevoidLineY_Paint(
objectsender,System.Windows.Forms.PaintEventArgse)
{
Graphicsg=e.Graphics;
PenmyPen=newPen(this.lineColor);
myPen.Width=this.lineWidth*2;
this.Width=this.LineWidth;
g.DrawLine(myPen,0,0,0,e.ClipRectangle.Bottom);
}
privatevoidLineY_Resize(
objectsender,System.EventArgse)
{
this.Width=this.lineWidth;
}
}
}
C#画线控件的开发就向你介绍到这里,希望对你了解和学习C#画线控件有所帮助。