zoukankan      html  css  js  c++  java
  • 【CITE】利用鼠标绘图C#

    实例018 利用鼠标绘图

    光盘位置:光盘MR118

    在常用的画图软件中,用户一般都可以通过鼠标在其中绘图,那么该功能是如何实现的呢?本实例将讲解如何使用C#实现通过拖动鼠标在窗体上绘图的功能,实例运行效果如图1.18所示。

     
    图1.18  利用鼠标绘图

    本实例实现时主要用到了Graphics类的DrawLine方法和MouseEventArgs类的X属性、Y属性,下面分别对它们进行详细介绍。

    Graphics类中的DrawLine方法主要用来绘制直线,该方法为可重载方法,本实例中用到的重载形式如下:

    1. public void DrawLine (Pen pen,Point pt1,Point pt2) 

    参数说明

    pen:Pen对象,它确定线条的颜色、宽度和样式。

    pt1:Point结构,它表示要连接的第一个点。

    pt2:Point结构,它表示要连接的第二个点。

    说明:关于MouseEventArgs类的X属性和Y属性的详细讲解,请参见实例005中的关键技术。

    (1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,并将其命名为MouseToDraw。

    (2)更改默认窗体Form1的Name属性为Frm_Main。

    (3)程序主要代码如下:

    private void Form1_MouseMove(object sender, MouseEventArgs e)  
    {  
     
      if (lastPoint.Equals(Point.Empty))             
    //判断绘图开始点是否为空  
     
      {  
     
          lastPoint = new Point(e.X, e.Y);           
    //记录鼠标当前位置  
     
      }  
     
      if (G_OnMouseDown)                            
    //开始绘图  
     
      {  
     
          Point cruuPoint = new Point(e.X, e.Y);      
    //获取鼠标当前位置  
     
          graphics.DrawLine(pen, cruuPoint, lastPoint); 
    //绘图  
     
      }  
     
      lastPoint = new Point(e.X, e.Y);             
    //记录鼠标当前位置  
    }  
    private void Form1_MouseUp(object sender, MouseEventArgs e)  
    {  
     
      G_OnMouseDown = false;                        
    //开始绘图标识设置为false  
    }  
    private void Form1_MouseDown(object sender, MouseEventArgs e)  
    {  
     
      G_OnMouseDown = true;                             //开始绘图标识设置为true  
    } 
  • 相关阅读:
    Ajax
    PS将图标变灰
    圆角
    前端性能优化最佳实践(转)
    jquery $(document).ready() 与window.onload的区别
    js阻止冒泡及jquery阻止事件冒泡示例介绍
    CSS选择器、CSS hack及CSS执行效率
    Github快速入门手册
    Windows 系统下Git安装图解
    史上最全github使用方法:github入门到精通
  • 原文地址:https://www.cnblogs.com/hardsoftware/p/5715691.html
Copyright © 2011-2022 走看看