以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 新手问e是什么? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=22150) |
-- 作者:Fotable -- 发布时间:2012/8/4 7:12:00 -- 新手问e是什么? 很多代码中都有e.什么的 这个e是什么 有没有声明 我想每一个新手都应该有这个疑问? 但搜索论坛和帮助都没有发现解答。 |
-- 作者:wjl-se -- 发布时间:2012/8/4 17:56:00 -- 应该是这个: http://www.foxtable.com/help/topics/0604.htm |
-- 作者:wjl-se -- 发布时间:2012/8/4 17:58:00 -- 链接有问题,打开帮助,搜索"事件的e参数" |
-- 作者:Fotable -- 发布时间:2012/8/4 23:11:00 -- 引用窗口和控件 在窗口或控件的事件代码中,如果要引用本窗口,请尽量用e参数:e.Form。 e.Form.Close() 如果通过窗口名称来引用: Forms("窗口1").Close() 一旦之后因为某种原因,需要修改窗口名称,那么你将不得不修改相关事件代码。 同样在控件的事件代码中,如果要引用控件本身,也应该使用e参数:e.Sender,例如: If User.Group = "经理"
Then 如果采用控件名称来引用,那么一旦需要修改控件名称,就必须同步修改代码 |
-- 作者:Fotable -- 发布时间:2012/8/5 22:24:00 -- 事件的e参数 发生任何一个事件,总是会有一些和事件相关的信息,需要通知到系统。 例如DataColChanged事件,它会在某一列的内容发生变化后触发,其e参数就包括三个属性: e.DataTable : 发生变化的表 通过这三个属性,我们能够知道变化发生的具体位置,即在e.DataTable(表)的e.DataRow(行)的e.DataCol(列)发生了变化。 同样是表事件,e参数属性也会有所不同的,例如AfterEdit事件,这个事件在编辑单元格后触发,它的e参数属性有: e.Table: 编辑的表 这是因为同一个DataTable会有多个Table,我们无法直接编辑DataTable的,而只能是编辑其中一个Table,所以AfterEdit的e参数属性需要告诉系统,编辑的是哪一个Table、哪一个Row、那一个Col。 e.Table.DataTable 所以实际上,AfterEdit事件的e参数提供了更多的信息,可以追踪到具体的Table。 此外也有个别事件没有e参数,例如项目事件AfterOpenProject,此事件在打开项目后执行,显然这样的事件并不需要通过e参数来传递什么信息的。 在编辑事件代码的时候,代码编辑器会提供该事件的说明,当然也包括e参数的说明。
楼上更清楚了 |