日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#畫直線實現(xiàn)實例解析

C#畫直線的操作有的時候我們會在實際開發(fā)遇到這樣的需求,那么C#畫直線是如何實現(xiàn)的呢?這里我們來看看具體的實現(xiàn)代碼,通過代碼的介紹希望對你的開發(fā)有所幫助。

臨江網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,臨江網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為臨江近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的臨江做網(wǎng)站的公司定做!

C#畫直線實現(xiàn)實例:

 
 
 
  1. //以下是完整代碼,可以直接編譯運行 
  2. //-----C#畫直線--------- 
  3. using System; 
  4. using System.Collections.Generic; 
  5. using System.Windows.Forms; 
  6. using System.Drawing; 
  7. namespace q2 
  8. static class Program 
  9. /// ﹤summary﹥ 
  10. /// 應(yīng)用程序的主入口點。 
  11. /// ﹤/summary﹥ 
  12. [STAThread] 
  13. static void Main() 
  14. Application.EnableVisualStyles(); 
  15. Application.SetCompatibleTextRenderingDefault(false); 
  16. Application.Run(new Form1()); 
  17. /// ﹤summary﹥ 
  18. /// 線條對象 
  19. /// ﹤/summary﹥ 
  20. class Line 
  21. /// ﹤summary﹥ 
  22. /// 建立線條對象,并設(shè)置起點 
  23. /// ﹤/summary﹥ 
  24. /// ﹤param name="startPoint"﹥此線條的起點﹤/param﹥ 
  25. public Line(Point startPoint) 
  26. StartPoint = startPoint; 
  27. EndPoint = startPoint; 
  28. public Point StartPoint = Point.Empty; 
  29. public Point EndPoint = Point.Empty; 
  30. public class DrawPanel : Control 
  31. public DrawPanel() 
  32. this.DoubleBuffered = true; 
  33. this.SetStyle(
  34. ControlStyles.OptimizedDoubleBuffer | 
  35. ControlStyles.ResizeRedraw, true); 
  36. /// ﹤summary﹥ 
  37. /// C#畫直線之窗口定義 
  38. /// ﹤/summary﹥ 
  39. public class Form1 : Form 
  40. public Form1() 
  41. drawPanel.BackColor = Color.White; 
  42. drawPanel.Cursor = Cursors.Cross; 
  43. drawPanel.Dock = DockStyle.Fill; 
  44. drawPanel.MouseDown += 
  45. new MouseEventHandler(drawPanel_MouseDown); 
  46. drawPanel.MouseUp += 
  47. new MouseEventHandler(drawPanel_MouseUp); 
  48. drawPanel.MouseMove += 
  49. new MouseEventHandler(drawPanel_MouseMove); 
  50. drawPanel.Paint += 
  51. new PaintEventHandler(drawPanel_Paint); 
  52. Controls.Add(drawPanel); 
  53. /// ﹤summary﹥ 
  54. /// C#畫直線之用于保存繪出線條的集合 
  55. /// ﹤/summary﹥ 
  56. private List﹤Line﹥ lines = new List﹤Line﹥(); 
  57. /// ﹤summary﹥ 
  58. /// 用于保存當(dāng)前正在繪制的線條 
  59. /// ﹤/summary﹥ 
  60. private Line drawingLine = null; 
  61. /// ﹤summary﹥ 
  62. /// 用于顯示繪圖的面板組件 
  63. /// ﹤/summary﹥ 
  64. private DrawPanel drawPanel = new DrawPanel(); 
  65. /// ﹤summary﹥ 
  66. /// 在繪圖區(qū)釋放鼠標(biāo),結(jié)束當(dāng)前線條繪制 
  67. /// ﹤/summary﹥ 
  68. /// ﹤param name="sender"﹥﹤/param﹥ 
  69. /// ﹤param name="e"﹥﹤/param﹥ 
  70. void drawPanel_MouseUp(object sender, MouseEventArgs e) 
  71. if (drawingLine == null) return; 
  72. drawingLine.EndPoint = e.Location; 
  73. drawingLine = null; 
  74. /// ﹤summary﹥ 
  75. /// 在繪圖區(qū)按下鼠標(biāo),開始繪制新線條 
  76. /// ﹤/summary﹥ 
  77. /// ﹤param name="sender"﹥﹤/param﹥ 
  78. /// ﹤param name="e"﹥﹤/param﹥ 
  79. void drawPanel_MouseDown(object sender, MouseEventArgs e) 
  80. drawingLine = new Line(e.Location); 
  81. lines.Add(drawingLine); 
  82. ///C#畫直線
  83. /// ﹤summary﹥ 
  84. /// 在繪圖區(qū)移動鼠標(biāo)時,如果正在繪制新線條,就更新繪制面板 
  85. /// ﹤/summary﹥ 
  86. /// ﹤param name="sender"﹥﹤/param﹥ 
  87. /// ﹤param name="e"﹥﹤/param﹥ 
  88. void drawPanel_MouseMove(object sender, MouseEventArgs e) 
  89. if(drawingLine != null) 
  90. drawingLine.EndPoint = e.Location; 
  91. drawPanel.Invalidate(); 
  92. /// ﹤summary﹥ 
  93. /// 繪制效果到面板 
  94. /// ﹤/summary﹥ 
  95. /// ﹤param name="sender"﹥﹤/param﹥ 
  96. /// ﹤param name="e"﹥﹤/param﹥ 
  97. void drawPanel_Paint(object sender, PaintEventArgs e) 
  98. Bitmap bp = new Bitmap(
  99. drawPanel.Width, drawPanel.Height); // 用于緩沖輸出的位圖對象 
  100. Graphics g = Graphics.FromImage(bp); 
  101. g.SmoothingMode = 
  102. System.Drawing.Drawing2D.
  103. SmoothingMode.AntiAlias; // 消鋸齒(可選項) 
  104. Pen p = new Pen(Color.Black); 
  105. foreach (Line line in lines) 
  106. if (line == drawingLine) 
  107. // 當(dāng)前繪制的線條是正在鼠標(biāo)定位的線條 
  108. p.Color = Color.Blue; 
  109. else 
  110. p.Color = Color.Black; 
  111. g.DrawLine(p, line.StartPoint, line.EndPoint); 
  112. // 將緩沖位圖繪制到輸出 
  113. e.Graphics.DrawImage(bp, Point.Empty); 
  114. }
  115. //C#畫直線

C#畫直線的相關(guān)實例就向你演示到這里,希望對了解和學(xué)習(xí)C#畫直線的實現(xiàn)有所幫助。


文章題目:C#畫直線實現(xiàn)實例解析
文章分享:http://www.5511xx.com/article/djiddcc.html