C#画线控件的开发应用实例解析

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#画线控件有所帮助。

你可能感兴趣的:(C#)