用心做好每一件事情!

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 @   无 影  阅读(1748)  评论(2编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
作者: Allen【QQ:96966 1314】 网名:无影 出处: http://www.cnblogs.com/allen0118/ 声明: 本文版权归作者和博客园共有!转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
点击右上角即可分享
微信分享提示