1、首先小编创建一个winform程序,然后在主窗口中添加两个按钮,这里我们要实现的功能是点击A按钮的时候,程序自动点击B按钮,如下图:
2、这里是具体的代码,这里面实现了两个按钮的点击事件,点击A按钮的时候弹出对话框我是A按钮,点击B按钮的时候弹出对话框我是B按钮,如下图:
3、接下来我们创建一个鼠标点击的新类,按照下图中红色箭头指示步骤右键点击项目,然后点击添加,如下图:
4、在弹出的添加新项的对话框中,选择 类,然后在名称处输入任意名称,这里小编的类名称为MouseFlag,然后点击添加,如下图;
5、下图中代码就是新建的MouseFlag类的具体实现,小编将其中主要的代码进行解释:其中的枚举部分不是重要部分,直接写上就好mouse_eve荏鱿胫协nt方法,这个方法的作用是模拟鼠标点击事件 SetCursorPos方法,这个方法是移动鼠标到指定位置MouseLefClickEvent(int dx, int dy, uint data)方法实现的是将鼠标移动到指定位置并且进行点击,如下图:
6、下图中是Form1.cs的代码,在A按钮的点击事件中添加一些代码,对其中重要的代码做出解释Point p_泠贾高框orignal = Control.MousePosition;这句代码意思是获取当前鼠标位置Point p = new Point(0,0);创建一个点,这个点表示整体屏幕的左上角的起始点(0,0)int click_x = this.button2.PointToScreen(p).X;这里是获取B按钮的左上角相对于屏幕的位置X int click_y = this.button2.PointToScreen(p).Y;这里是获取B按钮的左上角相对于屏幕的位置YMouseFlag.MouseLefClickEvent(click_x, click_y, 0);这里调用鼠标点击事件MouseFlag.SetCursorPos(p_orignal.X,p_orignal.Y);这里将鼠标的位置还原如下图:
7、启动程序,然后点击A按钮,会发现,程序会自动执行点击A按钮然后再程序中模拟执行点击B按钮,并且会自动将鼠标位置还原。