以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请问在BeforeOpenProject 事件中能不能调用全局代码写好的控件事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34084) |
-- 作者:xp -- 发布时间:2013/5/30 11:03:00 -- 请问在BeforeOpenProject 事件中能不能调用全局代码写好的控件事件 知道的告诉下,谢谢了。。 |
-- 作者:Bin -- 发布时间:2013/5/30 11:12:00 -- 你试下不就知道了吗? |
-- 作者:xp -- 发布时间:2013/5/30 11:16:00 -- 我是动态生成外部窗口,控件,然后全局写控件的事件,但是在 BeforeOpenProject 调用控件的事件出现错误 |
-- 作者:狐狸爸爸 -- 发布时间:2013/5/30 11:19:00 -- 你的代码是怎样的? 这个时候,表不存在,窗口不存在,调用控件肯定出错的。
|
-- 作者:xp -- 发布时间:2013/5/30 12:05:00 -- 我开始是在BeforeOpenProject: 动态生成窗口, 和里面的控件 Dim frm As New Windows.Forms.Form With frm .Name = "frmLogin" end with Dim cmbName As new windows.Forms.combobox With cmbName .name="用户名称" .Location = New System.Drawing.Point(404,173) .Size = New System.Drawing.Size(161,20) End With frm.controls.add(cmbName) name=frm.controls("用户名称") AddHandler cmbName.Leave,AddressOf 用户名称_Leave 全局代码写: Public name As windows.Forms.combobox Public Sub 用户名称_Leave(sender As System.Object, e As System.EventArgs) end sub 这样子写是可以正常生成窗口和控件,并且执行name 的事件 但是当我把这些代码复制到新的项目中以后 name=frm.controls("用户名称")
就会出错,未设置当对象实例,大概意思就是不能调用全局的 Public name As windows.Forms.combobox
|
-- 作者:Bin -- 发布时间:2013/5/30 12:10:00 -- 根本不可以在BEFOROPENPROJCET事件中打开窗口,别说操作控件了 |
-- 作者:xp -- 发布时间:2013/5/30 12:24:00 -- 可以的我是在这里动态生成外部控件 |
-- 作者:Bin -- 发布时间:2013/5/30 12:34:00 -- 哦..那么原因应该是.全局代码模块在这个时候还没生成 所以无效 |