事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象称为事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。 在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET Framework 定义了一个特殊的类型 (Delegate),该类型提供函数指针的功能。 委托是可保存对方法的引用的类。与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。这样,委托就等效于一个类型安全函数指针或一个回调。虽然委托具有许多其他的用途,但这里只讨论委托的事件处理功能。一个委托声明足以定义一个委托类。声明提供委托的签名,公共语言运行库提供实现。下面的示例显示了事件委托声明。…
📂 Web编程
👤 博主
📅 2008-12-05
👁 4497
👍 0
阅读全文 →
订阅事件平时我们大都像上边格式写,还可以写成如下形式: 这有些类似于Js的匿名函数,要注意当不需要参数时应去掉delegate后面的中括号!下边的例子比较有意思,也正是因为这写法不同引起的:
📂 Web编程
👤 博主
📅 2008-12-03
👁 6548
👍 0
阅读全文 →
方法一:调用API函数获取屏幕的设备驱动器句柄,然后用Graphics在屏幕上输出文字。 缺点:输出的文字不好用程序擦除,桌面刷新文字就会丢失! 方法二:使用透明的窗体 在Form1中输入如下代码: 相比方法一,这种方法修改文字非常容易,并且文字不会丢失!
📂 Win编程
👤 博主
📅 2008-12-02
👁 6089
👍 0
阅读全文 →
主题生成服务结构大致如下: 出现症状是:当数据库连接失败一次后,即使后来数据库已经恢复正常可以成功连接也无法再生成主题。数据库连接失败错误信息: 14:06:03: 在从服务器接收结果时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 指定的网络名不再可用。) 经分析,数据库连接失败后,在"//更新记录中的错误报告"处直接更新数据库导致了新的错误发生(catch块内有新错误发生),因而status2rd的值始终为false,也就无法再继续主题生成,解决方法是更新错误报告时判断下上边的记录是否成功读取(即数据库是否成功连接)。 所以,一定要严格检查catch块内语句,保证这边不再发生错误,否则,程序调试、找出错误原因会有很多困难!…
📂 其他
👤 博主
📅 2008-12-01
👁 5810
👍 0
阅读全文 →