C# Winform畫線


在Winform中實現的效果如下:

 

代碼請參考:

 1 using System.Drawing;
 2 using System.Drawing.Drawing2D;
 3 using System.Windows.Forms;
 4 
 5 namespace DrawLineDemo
 6 {
 7     public partial class Form1 : Form
 8     {
 9         public Form1()
10         {
11             InitializeComponent();
12         }
13 
14         public Point PointStart, PointEnd;//定義連線之間的兩點,PointStart:起始點;PointEnd:結束點;
15         public int Flag = 0;
16 
17         private void Form1_MouseUp(object sender, MouseEventArgs e)
18         {
19             Flag = 0;
20         }
21 
22         private void Form1_MouseMove(object sender, MouseEventArgs e)
23         {
24             Text = "Location:X=" + e.X.ToString() + ",Y=" + e.Y.ToString();
25             if (Flag == 0)
26                 return;
27             Pen pen = new Pen(Color.Gray, 1);//灰色畫筆,寬度為1
28             pen.DashStyle = DashStyle.Custom;
29             pen.DashPattern = new float[] { 9f, 1f };//虛線:實體和空白的比例
30             pen.StartCap = LineCap.RoundAnchor;//圓點開始
31             pen.EndCap = LineCap.ArrowAnchor;//結束為箭頭
32             Graphics g = CreateGraphics();
33             //指定畫圖的呈現質量
34             g.SmoothingMode = SmoothingMode.HighQuality;
35             g.InterpolationMode = InterpolationMode.HighQualityBicubic;
36             g.CompositingQuality = CompositingQuality.HighQuality;
37             PointEnd.X = e.X;
38             PointEnd.Y = e.Y;
39             g.Clear(BackColor);//清除之前的畫線
40             g.DrawLine(pen, PointStart.X, PointStart.Y, PointEnd.X, PointEnd.Y);//畫線
41         }
42 
43         private void Form1_MouseDown(object sender, MouseEventArgs e)
44         {
45             Flag = 1;
46             PointStart.X = e.X;
47             PointStart.Y = e.Y;
48         }
49     }
50 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM