`
ideage
  • 浏览: 323982 次
社区版块
存档分类
最新评论

DFL框架分析(二) 事件订阅

阅读更多
DFL中的事件订阅(module dfl.event,dfl.control)

一.EventArgs类: 事件参数祖先,传递事件的参数组合,可以进行继承实现更多的参数.

二.Event 模版
1.接受两个模版参数,
2.重载了操作符:
opCatAssign ~ 增加.
opCall 调用
opApply foreach调用


三.例子
---------------------------------------------------------------------
控件本身:

1.声明可以订阅事件
Event!(Control, EventArgs) click; 


2.事件处理函数
protected void onClick(EventArgs ea)
	{
		click(this, ea);
	}


3.处理Window的事件消息,触发事件.
protected void wndProc(inout Message msg)
{
  switch(msg.msg)
		{
			case WM_LBUTTONUP:
				onClick(EventArgs.empty);
		}
}

-------------------------------------------------------------------------------
使用控件过程:

4.发生事件要执行的函数.
private void bt_click(Object sender, EventArgs ea)
	{}


5.订阅事件.

bt.click ~= &bt_click ;


四.启示 observer模式的一个好例子.
在D的运行库Phobos中,std.signals 也实现了observer模式.
分享到:
评论
2 楼 sleets 2007-06-29  
呵呵,真的很不错

click ~= delegate void( Control sender, EventArgs ea ){
              sender.text = "点我就变";
   msgBox("Control  ");
} ;
1 楼 oldrev 2007-03-07  
整个一 .net 嘛

相关推荐

    DFL ST说明书

    DFL-ST II工具是一款由磁动电子科技自主开发的专业ST硬盘固件修复工具,与深受大家喜爱和赞誉的DFL-WD为兄弟产品。 DFL-ST II工具主要针对市面上的7200.7-7200.10系列及11、12代的F3系列的ST硬盘而设计。DFL-ST II...

    DFL for DMD2.031

    同时,DFL也考虑到了工具链的完整性,可能包含构建系统、测试框架等,使得开发流程更为顺畅。 压缩包中的"dfl"文件可能包含了DFL库的所有源码,这为开发者提供了深入学习和定制的机会。通过阅读和研究源码,我们...

    DFL-WD中文说明书

    DFL-DE是专业的数据恢复软硬件USB2.0设备,该组件能够对ATA,SATA所有硬盘进行数据恢复,该设备也能够对连接于DFL-WD的SATA端口使用48位寻址方式的硬盘工作,同也也可以对任何操作系统识别的存储装置进行数据恢复。...

    DFL员工福利商业保险项目信息管理系统毕业论文

    这有助于保险公司追踪理赔历史,分析理赔趋势,优化服务流程。 3. **维护理赔信息**:系统支持对理赔信息的实时更新和维护,无论是新的理赔申请还是已归档信息的修改,都能在系统中进行。这确保了数据的准确性和...

    DLINK DFL PPPoE設定方式

    DFL系列防火牆簡易安裝手冊 DFL-210,260,800,860,1600,2500 適用。

    DFL-WD II Setup_CHS_V2.3.5

    综合以上分析,我们可以推测“DFL-WD II”可能是一个专为西部数据硬盘设计的数据恢复或维护工具,具有高级的性能和稳定性,其最新版本为V2.3.5。然而,关于“XISHU”标签和“1590不降溶Pinnacle”的确切含义,需要更...

    DLINK -DFL系列設定如何阻檔某網站的方法

    DFL系列防火牆如果阻檔URL DFL-210,260,800,860,1600,2500 適用

    Premiere插件DFL2调色插件

    DFL2调色插件 DFL2调色插件 DFL2调色插件

    DFL-CNN-master_svm人脸识别_人脸识别_facerecognition_支持向量机_cnn人脸识别_

    在本项目中,"DFL-CNN-master_svm人脸识别_人脸识别_facerecognition_支持向量机_cnn人脸识别_" 涉及到了多种人工智能领域的核心技术,主要包括人脸识别、支持向量机(SVM)以及卷积神经网络(CNN)。下面将详细讲解...

    DFL干膜润滑剂

    #### 二、产品特性 1. **清洁无油性**:形成的干膜不含有油分,避免了油渍问题。 2. **优异的摩擦系数**:提供良好的润滑效果,减少摩擦损耗。 3. **通用性强**:可在木材、塑料、纤维、金属、玻璃等材质上使用。 4....

    PyPI 官网下载 | DFL168A-1.0.0-py3-none-any.whl

    标签“Python库”揭示了DFL168A是一个专门为Python设计的软件模块或框架,旨在提供特定功能或服务,如数据处理、网络通信、机器学习等。Python库可以极大地扩展Python的功能,简化开发过程,提高代码的可重用性。 ...

    D-Link推出DFL-800/1600高性能整合式防火墙

    国际著名网络设备和解决方案提供商D-Link推出区域联防机制,并将其应用在新一代的安全产品--DFL-800/1600高性能 整合式防火墙中,不仅通过在网络安全设备之间建立互动机制,实现对网络安全设备的有效整合,将传统...

    【Kaggle比赛】DFL 德甲足球事件检测大赛(CV·目标检测-视频分类)

    #### 二、YOLOv7的技术特点 - **高性能表现**:YOLOv7在5 FPS至160 FPS的范围内的所有已知实时目标检测器中,达到了最高精度56.8% AP。其中,YOLOv7-e6目标检测器(56 FPS V100, 55.9% AP)在速度和精度上分别比...

    DFL Printting!

    通过阅读和分析"**dfl-20070907**"中的源代码,开发者可以深入理解DFL库的内部机制,了解如何处理打印任务的各个阶段,以及如何与其他GUI元素进行交互。同时,这也可能是一个学习Unicode编码和跨平台开发的好机会。...

    TOSHIBA-TC55257DFL.pdf

    TOSHIBA-TC55257DFL.pdf

    dfl_0802:dfl0802纯

    【标题】"dfl_0802:dfl0802纯" 暗示着这可能是一个关于数据处理或者数据分析的项目,其中“dfl”可能是“Data Flow”或“DataFrame Library”的缩写,而“0802”可能是日期、版本号或者是项目的特定标识。...

Global site tag (gtag.js) - Google Analytics