以文本方式查看主题

-  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
--  
你试下不就知道了吗?

BeforeOpenProject 连窗口都无法调用,应该就是不行了.

--  作者: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
--  
哦..那么原因应该是.全局代码模块在这个时候还没生成 所以无效