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#畫線控制元件有所幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-623873/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【C# 程式碼小知識】畫蛇添足的編碼字首C#
- c#全半形轉換示例程式碼C#
- C#遍歷窗體控制元件程式碼,遍歷窗體所有按鈕控制元件程式碼C#控制元件
- c# winform之繪畫及畫直曲線相關C#ORM
- xargs 的示例程式碼.
- RabbitMQ 程式碼示例MQ
- lisp 程式碼示例Lisp
- 排序程式碼示例排序
- DDD領域驅動設計總結和C#程式碼示例C#
- c#畫圖(橢圓和弧線)Craphics類C#
- MySql連線資料庫常用引數及程式碼示例MySql資料庫
- 【技術乾貨】程式碼示例:使用 Apache Spark 連線 TDengineApacheSpark
- Spring-Data-Mongodb資料庫連線程式碼示例SpringMongoDB資料庫線程
- Java NIO 程式碼示例Java
- java SPI 程式碼示例Java
- 一個非常標準的連線Mysql資料庫的示例程式碼MySql資料庫
- SpringBoot?整合mongoDB並自定義連線池的示例程式碼Spring BootMongoDB
- PHP interface(介面)的示例程式碼PHP
- 【技術乾貨】程式碼示例:使用 Apache Flink 連線 TDengineApache
- 如何用程式碼畫出一幅好看的畫
- 【Azure 媒體服務】Media Service的編碼示例 -- 建立縮圖子畫面的.NET程式碼除錯問題除錯
- js程式碼與html程式碼分離示例JSHTML
- 基於微軟RDLC報表控制元件示例(含原始碼)微軟控制元件原始碼
- Kafka 1.0.0 d程式碼示例Kafka
- 靜態代理程式碼示例
- java 管道流程式碼示例Java
- C#控制元件C#控制元件
- 視窗程式框架示例程式碼框架
- canvas畫布效果程式碼Canvas
- 簡單介紹c#透過程式碼開啟或關閉防火牆示例C#防火牆
- 畫直線的演算法之DDA演算法+程式碼實現(法一)演算法
- 【Java】經典示例程式碼Java
- 多執行緒程式碼示例執行緒
- 工廠模式示例程式碼模式
- 原型模式示例程式碼原型模式
- FileSystemObject(FSO) 示例程式碼 (轉)Object
- RSA加密解密示例程式碼加密解密
- shader程式設計基礎:畫線程式設計