用C#编写事件:请高手指点一二。。我是自学的。万分感谢!!!

用C#编写事件:
情形是:
A:在南宁人民公园里,突然出现鞭炮声了.
B:游客惊讶.打110报警.
C:保安立刻调查情况.且赶往鞭炮声出现的地方.
D:孩子哭了.
E:鸟飞了.
F:烧烤场开业了.
G:烧烤场附近的人兴高采烈.
.....
请根据以上情形编写响应鞭炮声响了的事件及处理程序.
谢谢你的回答。。。这道题应该是汲及到多线程的写法的。

第1个回答  2010-08-18
首先A类中要定义事件:【鞭炮声】;
然后A类中还要有【触发事件的方法】,所谓触发其实就是调用事件,而事件就是多重委托,调用了事件,就是依次调用了所有绑定到该事件上的委托,而这些委托包含的就是事件的处理方法。
要想接到时间通知,那么就要把接收方对象的该事件的处理方法绑定到事件发送方对象的该事件上,这个步骤称为【订阅事件】,格式如下:
【A.事件 += new 相应事件的委托类型(B.事件处理方法);】
如果要取消订阅,使用【-=】。
依我看这里不必要多线程。当然你要这些事情同时发生,当然就需要多线程同时进行,那你得自己看看多线程了。
第2个回答  2010-08-15
定义一个类
在此类中写入Main()函数
然后写一个鞭炮声响的方法 如public void A(){}
在Main()函数中调用A()方法
然后在A()方法中写入上面写的B、C、D...选项的方法
这样 当调用A()方法时
就会调用到B、C、D...的方法
和以前见过的一个题差不多
思路和这个相差无几
希望对你有帮助
第3个回答  2010-08-21
InnerClass:
全局变量
public delegate void CallBack(object param)
public event CallBack A;
public event CallBack B;
public event CallBack C;
public event CallBack D;
.
.
.
public void AFunc()
{
if(A!=null)
A("参数");
}
public void BFunc()
{
if(B!=null)
B("参数");
}
...
OuterClass:
InnerClass ic=new InnerClass()
在处理事件的函数调用
ic.A+=......(AProccess);
然后private void AProcess(object param)
{
//这里可以处理参数
ic.BFunc();
}
然后依次类推...本回答被网友采纳

用C#编写事件:请高手指点一二。。我是自学的。万分感谢!!!
首先A类中要定义事件:【鞭炮声】;然后A类中还要有【触发事件的方法】,所谓触发其实就是调用事件,而事件就是多重委托,调用了事件,就是依次调用了所有绑定到该事件上的委托,而这些委托包含的就是事件的处理方法。要想接到时间通知,那么就要把接收方对象的该事件的处理方法绑定到事件发送方对象的该...

用c#写一个除法~ 我是初学者希望代码越简单越好,谢谢各位高手指点一下啦...
你好,以下是用C#语言所写的简单的除法运算,请参考:using System;namespace BaiduTest { static class Program { static void Main(){ double num1 = 12.5; \/\/ 被除数 double num2 = 5.0; \/\/ 除数 double result = num1 \/ num2; \/\/ 执行除法运算 Console.WriteLine(result); \/\/ 输...

c# 请各位高手指点一下我这个菜鸟把!下面的程序那里出错了!能不能改...
string str = Console.ReadLine();if (str!=null ){ char[] chars = str.ToCharArray();for (int j = 0; j < str.Length; j++){ chars[j] = (char)((int)chars[j] + 4);} for (int k = 0; k < str.Length; k++){ Console.WriteLine("char[0]", chars[k]);} } ...

关于用c# 做摄像头监控的 后台应该程序,用来监控出勤率的,希望高手可以...
一个月 搞定这种涉及AI的项目,天才也很难做到啊~ 海康倒是有这样的视频智能分析——如对超市人头进行统计,但是这种东西估计也得万元级的 听我一句 别搞了,趁没到期,下次注意别把牛给吹爆了,技术这东西不是某些人吹嘘的

C# 资源管理器 代码 后退和前进 怎么写 请高手指点一二
F10或ALT 激活当前程序的菜单栏 windows键或CTRL+ESC 打开开始菜单 CTRL+ALT+DELETE 在win9x中打开关闭程序对话框 DELETE 删除被选择的选择项目,如果是文件,将被放入回收站 SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站 CTRL+N 新建一个新的文件 CTRL+O 打开“打开...

在C#中如何给窗体添加类,我是菜鸟,请高手指点!
右击解决方案里的方案名 选择添加 然后类型为“类” 就添加好一个类了 这个类不是属于这个窗体的 而是属于整个解决方案 你在窗体里调用这个类即可

c#中该怎么用WriteLine录入92.168.1.2请高手指点一二,跪求。
Console.WriteLine("请输入IP:");string ip = Console.ReadLine();Console.WriteLine("您输入的IP是:" + ip);

请问C#出现这样的错误 是怎么回事? 请高手指点一下
这个应该是你的系统是32为x86.而你外部导入的dll是在64位机器上编译的,因此出现mismatch导致的。请尝试在解决方案中修改为anyCPU。

关于C#的,求高手指点怎么写一个C#程序,要求打开电脑中某特定的程序,具...
在openF.exe的按钮事件中使用如下代码进行启动Game.exe System.Diagnostics.Process.Start("GAME.exe");

...代表什么意思呢?初学C#,实在是不清楚,请高手指点一下
1. 一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。2. GUID 的 格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的 数字。例如:337c7f2b-7a34-4f50-9141-bab9e6478cc8 即为...

相似回答