用心做好每一件事情!

C# 模拟鼠标写字

经常看到别人拿个四四方方的写字板用笔写字,用C#其实也可以实现,大致思路就是处理鼠标的坐标和Graphics,

代码如下:

首先声明两个全局变量

bool isMouseDown = false;
        Point point = new Point();


再重写MouseDown事件:

 protected override void OnMouseDown(MouseEventArgs e)
        {
            point = e.Location; //当前的坐标
            isMouseDown = true;//表示已经按下鼠标
        }

因为写字的时候少不了上下左右移动,这里还要重写Move事件:

  protected override void OnMouseMove(MouseEventArgs e)
        {
            if (isMouseDown)
            {
                using (Graphics G = this.CreateGraphics())
                {
                    G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                    using (Pen pen=new Pen (Color.Black,3f)) //画笔
                    {
                        G.DrawLine(pen, point, e.Location);//开始画线
                        point = e.Location;//更新坐标
                    }
                }
            }
        }

最后一步,重写MouseUp事件即可:

 protected override void OnMouseUp(MouseEventArgs e)
        {
            isMouseDown = false;
        }

 

效果图如下:初始界面

 

写字的界面:

 

不知道有什么办法可以像其它那些输入法一样,写完之后将最接近的字给索引出来,知道的大神请指点一下,欢迎拍砖。。。

 

posted @ 2014-12-02 12:49  无 影  阅读(1743)  评论(2编辑  收藏  举报
作者: Allen【QQ:96966 1314】 网名:无影 出处: http://www.cnblogs.com/allen0118/ 声明: 本文版权归作者和博客园共有!转载时必须保留此段声明,且在文章页面明显位置给出原文连接。