zoukankan      html  css  js  c++  java
  • C# Winform画线

    在Winform中实现的效果如下:

     

    WPF画线参考:C# WPF画线 - 十年新 - 博客园 (cnblogs.com)

    代码请参考:

     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 }
  • 相关阅读:
    sql server中使用链接服务器访问oracle数据库
    biztalk中使用信封(Envelope)消息
    EMS SQL Manager 2007 for MySQL发布
    MySQL Connector/NET
    Silverlight相关资源
    ADO.NET嵌套数据绑定
    收到网上订得书了,开始充电...
    几个.net下的ajax框架
    Visual Studio 2008 Beta 2 初步体验
    .Net Remoting常用部署结构
  • 原文地址:https://www.cnblogs.com/yellow3gold/p/14468903.html
Copyright © 2011-2022 走看看