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;
        }

 

效果图如下:初始界面

 

写字的界面:

 

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

 

时间: 2024-12-01 21:17:57

C# 模拟鼠标写字的相关文章

控制-android 4.X如何模拟鼠标或者直接用代码调出鼠标光标

问题描述 android 4.X如何模拟鼠标或者直接用代码调出鼠标光标 最近在做android设备之间的远程控制,需要在一个android客户端(装了客户端软件)中控制另一android服务器端(装了服务器后台程序),在服务器调出android鼠标光标,请问怎么实现啊?求助.....大侠们.....

鼠标写字板如何使用?

  开心逍遥笔是国内最强大的联机手写汉字识别输入法,能识别7万汉字,输入生僻字以及输入常用字一样简单,它还支持鼠标写字板书写,并能识别英文字母.数字.标点符号.括号等. 开心逍遥笔支持连笔和行草书,支持倒插笔,甚至能识别多一笔少一画.正楷书写,首选识别率98%,前5选99.8%.行草书,第一选识别率91%,前5选98.8%.可以直接把汉字输入到任何应用程序.输入方式最简便,最自然,不需要学习,不需要启动额外的应用程序,开合自如. 开心逍遥笔还具有动态联想功能,比如,刚写了"我"字以后,

利用Visual C#编程模拟鼠标操作

visual|编程|鼠标 有时,我们需在我们的程序中模拟鼠标的移动.点击等动作.--比如,一个再现用户操作的宏,或者一个演示操作方法的Demo程序.那么,我们在.Net中如何实现呢? .Net并没有提供改变鼠标指针位置.模拟点击操作的函数:但是Windows API提供了.其中一个是: [DllImport("user32.dll")]static extern bool SetCursorPos(int X, int Y); 该函数可以改变鼠标指针的位置.其中X,Y是相对于屏幕左上角

C#程序模拟鼠标操作 [Simulate Mouse Movement and Click Programmatically]

程序|鼠标 有时,我们需在我们的程序中模拟鼠标的移动.点击等动作.--比如,一个再现用户操作的宏,或者一个演示操作方法的Demo程序.那么,我们在.Net中如何实现呢? .Net并没有提供改变鼠标指针位置.模拟点击操作的函数:但是Windows API提供了.其中一个是:        [DllImport("user32.dll")]        static extern bool SetCursorPos(int X, int Y);  该函数可以改变鼠标指针的位置.其中X,Y

Delphi编程模拟鼠标操作

本实例介绍如何在自己的程序里面模拟鼠标的常用操作. 首先启动一个新的项目,在空白的窗体上添加4个TButton组件.添加组件后的窗体如图1所示. 图1 添加组件后的窗体 这4个按钮分别用于模仿鼠标的4个动作--移动鼠标到指定位置.左键单击.左键双击和右键单击. 下面以鼠标左键单击为例来说明如何模拟鼠标操作: procedure TForm1.btnLClickClick(Sender: TObject);begin SetCursorPos(10,10); mouse_event(MOUSEEV

用C#模拟鼠标操作

有时,我们需在我们的程序中模拟鼠标的移动.点击等动作.--比如,一个再现用户操作的宏,或者一个演示操作方法的Demo程序.那么,我们在.Net中如何实现呢? .Net并没有提供改变鼠标指针位置.模拟点击操作的函数:但是Windows API提供了.其中一个是: [DllImport("user32.dll")] static extern bool SetCursorPos(int X, int Y); 该函数可以改变鼠标指针的位置.其中X,Y是相对于屏幕左上角的绝对位置. 另一个函数

JS实现窗口加载时模拟鼠标移动的方法

  本文实例讲述了JS实现窗口加载时模拟鼠标移动的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 function judge(){ alert("mousemove"); document.onmousemove = null;//撤销鼠标移动模拟 } function simulateMouseMove(){//模拟鼠标移动 document.onmousemove = judge; } window.onload=simulateMouseMo

模拟鼠标事件的实现思路及代码

 这篇文章主要介绍了模拟鼠标事件的实现思路及代码,有需要的朋友可以参考一下 模拟鼠标事件,一般可以通过mouse_event()和SendInPut()两种方法.mouse_event()在windows后期版本中逐渐被SendInPut()取代.SendInPut()模拟鼠标移动的事件中,标志位取值不同,输入坐标的意义也不同.简单来说就是,添加MOUSEEVENTF_ABSOLUTE标志位表示鼠标移动是通过绝对坐标定位,此时的坐标要通过转换.光标在屏幕中被分成65535个小块,可以通过如下转换

位置-C# WPF WEBBROWSER 如根据指定的坐标处模拟鼠标点击事件

问题描述 C# WPF WEBBROWSER 如根据指定的坐标处模拟鼠标点击事件 C# WPF WEBBROWSER 如根据指定的坐标处模拟鼠标点击事件 SetCursorPos((int)clickPt.X, (int)clickPt.Y);//已屏幕为坐标点 // SetCursorPos((int)(this.Left + clickPt.X), (int)(this.Top + clickPt.Y));//已this窗体为坐标点 mouse_event((int)(MouseEventF