C# 如何把事件添加到 系统中简单的说就是 比如系统自带的MouseMove事件

如题:我需要1.不通过Timer。(原因:我不可能为了做一个软件而使用Timer这么大的组件来达到事件轮询通知的功能太浪费系统资源了)2.不通过在自己的程序里的函数检查。... 如题:
我需要
1.不通过Timer。(原因:我不可能为了做一个软件而使用Timer这么大的组件来达到事件轮询通知的功能太浪费系统资源了)
2.不通过在自己的程序里的函数检查。(原因:我不可能去使用函数检查,因为这太浪费CPU了,我的软件的主循环每秒需要循环33次以上简单的说,就是几乎所有的代码都要在每一秒内走33遍,所以不允许,有一些,多余的性能损耗)
3.不能使用线程(道理如上,雷同)
3.我需要像系统的如鼠标的move事件一样由系统给我发消息,而非我自己程序通知,系统发送消息到事件处理函数后,我在事件处理函数内实现相应的功能。就这样。
请教
补充:
我就是想要实现:
比如:鼠标的一系列事件,都是由系统触发,right?yes
那么,也就是说从某种意义上来说,系统里面有一个类似timer的东西,或者一个线程之类的东西,在不断地检查事件是否被触发,right?yes
现在,我的要求就是把我的事件触发逻辑验证代码(检查函数),注册到系统的检查机制中去,而不是自己通过循环,或定时器实现。

MythYsJh 说得些道理,但还是不能解决我的问题啊。。。
另外,推荐的答案,不知是谁选的,真够水的。。。
期待高人出现

MythYsJh
if( ProcessCompleted != null )
{
ProcessCompleted(...);
}
这是个逻辑判断的过程,请问这个判断过程的代码,因该放在哪里呢?
展开
 我来答
你是谁LCqTt
2011-01-20 · TA获得超过602个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:850万
展开全部
mousemove这种事件是有东西去触发就会发生。它的逻辑有可能是当鼠标的坐标在某个区域内时,就触发事件:
if( mousemove )//鼠标划过
{
if( Mousemove != null )
{
Mousemove( ..);
}
}
其实就是一个简单的事件,比如自己在做业务逻辑处理时,需要在处理完毕通知使用这个业务逻辑的用户,就可以定义一个事件:
public event EventHandler ProcessCompleted;
当业务逻辑处理完毕时,触发这个事件:
//处理完毕,通知调用者
if( ProcessCompleted != null )
{
ProcessCompleted(...);
}
而在调用者那里,他可以注册这个事件以在处理完毕时得到通知
Biz.ProcessCompleted += MyMethod;

就是这么一个流程。但觉有点乱,希望你能看懂。。。

最初的UI控制权全在开发人员,也就是程序提醒用户输入,或者程序必须在条件满足时必须触发事件,后来这部分工作被移交给了UI框架,也就是你说的系统。在上面的例子中业务逻辑处理模块同样也就是你这个意义上的系统。WINFORM事件是如何触发的我不清楚,但在web程序里如点击事件并不是框架通过timer或新线程来一直轮训是不是触发了事件,而是通过回发页面,回发后系统会取得引起回发的控件的id,从而相应的执行为该控件定义的回发事件。不过我相信在winform里也不应该会通过timer或线程来判断事件是不是触发了。

放在你准备触发那个事件的地方
匿名用户
2011-01-01
展开全部
你只要在事件中调用一下系统自带的类不就可以了,比如说异常类,很多是不需要自己亲自写的,你只要会调用,系统自动帮你处理了。----个人观点,不知道有没有帮助。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FantasyChump
2011-01-02 · TA获得超过3287个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2221万
展开全部
描述不是很清楚。但是从你的描述看来,似乎你是想要一个Hook的功能:也就是鼠标全局钩子,让自己能捕捉到鼠标的所有动作。
这个可以通过安装鼠标钩子来完成。具体的上网搜下吧 :-)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mjxaa11
2011-01-17 · TA获得超过4291个赞
知道小有建树答主
回答量:2016
采纳率:25%
帮助的人:1213万
展开全部
Graphics类可以画啊,配合你提到的鼠标事件,记录下坐标调用相应的方法就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengclient
2011-01-01 · TA获得超过311个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:292万
展开全部
可能没有,我也不太确定。具体你想实现什么功能?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式