以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]项目事件LoadUserSetting和Initialize的执行顺序  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=11799)

--  作者:dlovef
--  发布时间:2011/8/12 9:21:00
--  [求助]项目事件LoadUserSetting和Initialize的执行顺序
项目的LoadUserSetting和Initialize事件哪个先执行呢?就是说我在这两个事件中给同一个全局变量赋值,哪个有效?



--  作者:狐狸爸爸
--  发布时间:2011/8/12 9:28:00
--  
应该是Initialize先。
不过你可以实验一下。 

--  作者:dlovef
--  发布时间:2011/8/12 10:03:00
--  
正常情况下我发现是Initialize先的。
就是以下情况,比如_ConnectName 这个变量,我在Initialize中给他设定一个常量,在LoadUserSetting中加入如下代码,
这种情况下,_ConnectName 的值有时随着我点击MessageBox时间的不同,有时等于我在Initialize中设置的值,
有时等于_TestConnectName的值。

    Dim Result As DialogResult
    Result = MessageBox.Show("是否联接本番数据库", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.No Then
        _ConnectName = _TestConnectName
    End If


--  作者:lihe60
--  发布时间:2011/8/12 10:11:00
--  

自己测试一下

messagebox.show(1)和messagebox.show(2)分别放大两个事件中。


--  作者:dlovef
--  发布时间:2011/8/12 17:10:00
--  
原来是当我通过菜单修改项目属性的时候,仍然会执行一遍Initialize的代码,导致LoadUserSetting中重新设置的变量值无效了。