怎么用c#委托和事件 实现模拟----鼠标单击事件---click ()高手求助????????????

skvd 2005-01-24 05:38:12
怎么用c#委托和事件 实现模拟----鼠标单击事件---click ()
...全文
592 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolnet 2005-01-28
  • 打赏
  • 举报
回复
事件的原理是一个observer模式
事件的执行要靠触发
MS提供的时间是自动触发的,如果你自己定义事件的话要自己触发,这需要你使用代码来触发。

这些MS都做好了,一般不用你自己来写鼠标点几这样的时间
不过楼主好好的研究时间对你的学习是很有帮助的,看以下observer模式
egxsun 2005-01-28
  • 打赏
  • 举报
回复
直接用xming076(虚名)的方法
xming076 2005-01-28
  • 打赏
  • 举报
回复
void button1_Click(object sender, EventArgs e)
{
...
}

void SomeFunction()
{
...

// 模拟鼠标点击 button1 按钮
button1_Click(null, null);
}
kenengjiang 2005-01-28
  • 打赏
  • 举报
回复
用API,结合以上大侠的委托和事件,就能实现
[System.Runtime.InteropServices.DllImport("user32")]
private static extern int mouse_event(int dwFlags,int dx,int dy, int cButtons, int dwExtraInfo);
const int MOUSEEVENTF_MOVE = 0x0001;
const int MOUSEEVENTF_LEFTDOWN = 0x0002;
const int MOUSEEVENTF_LEFTUP = 0x0004;
const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
const int MOUSEEVENTF_RIGHTUP = 0x0010;
const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
const int MOUSEEVENTF_MIDDLEUP = 0x0040;
const int MOUSEEVENTF_ABSOLUTE = 0x8000;

private void Click()
{
mouse_event(MOUSEEVENTF_MOVE,-10,-10,0,0);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
}
yuhan0001 2005-01-28
  • 打赏
  • 举报
回复
using System;

namespace 委托和事件
{
public delegate void Handle();
public class Class1
{

[STAThread]
static void Main(string[] args)
{
MenuItem menu = new MenuItem();
menu.select+=new Handle(menu_select);
menu.select+=new Handle(menu_select1);
menu.run();
}
public static void menu_select()
{
Console.WriteLine("hello!");

}
public static void menu_select1()
{
Console.WriteLine("You!");
Console.Read();
}
}
public class MenuItem
{
public event Handle select;
public MenuItem()
{
}
public void run()
{
select();
}
}
}
web_gus 2005-01-25
  • 打赏
  • 举报
回复
直接调用一下事件函数?
wls12342004 2005-01-25
  • 打赏
  • 举报
回复
public delegate void 1_Click(object sender, EventArgs e);

public event 1_Click click_f;
...
this.click+=new EventHandler(Button_Click);
...
Button_Click(object sender, EventArgs e)
{
click_f(this,e);
}
skvd 2005-01-25
  • 打赏
  • 举报
回复
不要UP了
高手帮忙解决一下?????????????????
aijing 2005-01-24
  • 打赏
  • 举报
回复
up
skvd 2005-01-24
  • 打赏
  • 举报
回复
我一个初学者
skvd 2005-01-24
  • 打赏
  • 举报
回复
能不能写全的
isaacyh 2005-01-24
  • 打赏
  • 举报
回复
click(this,new System.EventArgs());
skvd 2005-01-24
  • 打赏
  • 举报
回复
请高手给个例子
EATSAHARA 2005-01-24
  • 打赏
  • 举报
回复
不过可以做一个三击事件的捕获程序
skvd 2005-01-24
  • 打赏
  • 举报
回复
这个函数执行鼠标单击
skvd 2005-01-24
  • 打赏
  • 举报
回复
写一个 函数调用
兔子-顾问 2005-01-24
  • 打赏
  • 举报
回复
鼠标单击,你如何确定呢?一定要去拦截消息的,没有模拟,顶多你自己写拦截消息引发事件。没啥意义。呵呵,打击你一下。
cqzhangq 2005-01-24
  • 打赏
  • 举报
回复
可以在前端直接写 xxxx.click() 来触发
心情解码 2005-01-24
  • 打赏
  • 举报
回复
Up







--- - 楼 :)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧