转---《C#画线控件的开发应用实例解析》
C#画线控件的应用实例介绍之前我们要明白在C#中没有画线的控件,这里写了一个,大家分享。共有两个控件分别是画横线和画竖线的,关于怎么画斜线我还没没有,有兴趣的可以做一个大家分享。
C#画线控件之横线
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Windows.Forms;
- namespace Jiashi.WinControls
- {
- ///
- /// LineX 画横线控件
- ///
- public class LineX : System.Windows.Forms.UserControl
- {
- #region 属性定义
- private System.Drawing.Color lineColor;
- private int lineWidth;
- ///
- /// 线的颜色属性
- ///
- public System.Drawing.Color LineColor
- {
- set
- {
- this.lineColor=value;
- System.Windows.Forms.PaintEventArgs ep=
- new PaintEventArgs(this.CreateGraphics(),
- this.ClientRectangle);
- this.LineX_Paint(this,ep);
- }
- get{return this.lineColor;}
- }
- ///
- /// 线的粗细
- ///
- public int LineWidth
- {
- set
- {
- this.lineWidth=value;
- System.Windows.Forms.PaintEventArgs ep=
- new PaintEventArgs(this.CreateGraphics(),
- this.ClientRectangle);
- this.LineX_Paint(this,ep);
- }
- get{return this.lineWidth;}
- }
- #endregion
- private System.ComponentModel.Container components = null;
- ///
- /// 构造函数初始颜色和线粗细
- ///
- public LineX()
- {
- InitializeComponent();
- this.lineColor=this.ForeColor;
- this.lineWidth=1;
- }
- ///
- /// 清理所有正在使用的资源。
- ///
- protected override void Dispose( bool disposing )
- {
- if( disposing )
- {
- if(components != null)
- {
- components.Dispose();
- }
- }
- base.Dispose( disposing );
- }
- #region 组件设计器生成的代码
- ///
- /// 设计器支持所需的方法 - 不要使用代码编辑器
- /// 修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- //
- // LineX
- //
- this.Name = "LineX";
- this.Resize += new System.EventHandler(this.LineX_Resize);
- this.Paint +=
- new System.Windows.Forms.PaintEventHandler(this.LineX_Paint);
- }
- #endregion
- private void LineX_Paint(object sender,
- System.Windows.Forms.PaintEventArgs e)
- {
- Graphics g=e.Graphics;
- Pen myPen = new Pen(this.lineColor);
- myPen.Width=this.lineWidth*2;
- this.Height=this.LineWidth;
- g.DrawLine(myPen,0,0,e.ClipRectangle.Right,0);
- }
- private void LineX_Resize(object sender, System.EventArgs e)
- {
- this.Height=this.lineWidth;
- }
- }
- }
C#画线控件之竖线
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Windows.Forms;
- namespace Jiashi.WinControls
- {
- ///
- /// LineY 画竖线控件
- ///
- public class LineY : System.Windows.Forms.UserControl
- {
- #region 属性定义
- private System.Drawing.Color lineColor;
- private int lineWidth;
- ///
- /// 线的颜色属性
- ///
- public System.Drawing.Color LineColor
- {
- set
- {
- this.lineColor=value;
- System.Windows.Forms.PaintEventArgs ep=
- new PaintEventArgs(this.CreateGraphics(),
- this.ClientRectangle);
- this.LineY_Paint(this,ep);
- }
- get{return this.lineColor;}
- }
- ///
- /// 线的粗细
- ///
- public int LineWidth
- {
- set
- {
- this.lineWidth=value;
- System.Windows.Forms.PaintEventArgs ep=
- new PaintEventArgs(this.CreateGraphics(),
- this.ClientRectangle);
- this.LineY_Paint(this,ep);
- }
- get{return this.lineWidth;}
- }
- #endregion
- private System.ComponentModel.Container components = null;
- ///
- /// 构造函数初始颜色和线粗细
- ///
- public LineY()
- {
- InitializeComponent();
- this.lineColor=this.ForeColor;
- this.lineWidth=1;
- }
- ///
- /// 清理所有正在使用的资源。
- ///
- protected override void Dispose( bool disposing )
- {
- if( disposing )
- {
- if(components != null)
- {
- components.Dispose();
- }
- }
- base.Dispose( disposing );
- }
- #region 组件设计器生成的代码
- ///
- /// 设计器支持所需的方法 - 不要使用代码编辑器
- /// 修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- //
- // LineY
- //
- this.Name = "LineY";
- this.Resize +=
- new System.EventHandler(this.LineY_Resize);
- this.Paint +=
- new System.Windows.Forms.PaintEventHandler(this.LineY_Paint);
- }
- #endregion
- private void LineY_Paint(
- object sender, System.Windows.Forms.PaintEventArgs e)
- {
- Graphics g=e.Graphics;
- Pen myPen = new Pen(this.lineColor);
- myPen.Width=this.lineWidth*2;
- this.Width=this.LineWidth;
- g.DrawLine(myPen,0,0,0,e.ClipRectangle.Bottom);
- }
- private void LineY_Resize(
- object sender, System.EventArgs e)
- {
- this.Width=this.lineWidth;
- }
- }
- }
C#画线控件的开发就向你介绍到这里,希望对你了解和学习C#画线控件有所帮助
posted on 2011-11-17 12:55 Scorpionss 阅读(1037) 评论(0) 编辑 收藏 举报